Factor story boilerplate out into separate components (#3016)

This PR factors out the bulk of the boilerplate required to setup a
story in the storybook out into separate components.

The pattern we're using here is adapted from the "[associated
component](https://maxdeviant.com/posts/2021/react-associated-components/)"
pattern in React.

Release Notes:

- N/A
d8c6adf338Marshall Bowers committed on 9/22/2023, 3:38:01 PM· committed by GitHubparentafa7045
5 files changedLine totals unavailable