The tools needed to bind to redux, doesn't actually have a version of redux
npm install @focuson/reduxWhen we embed ourselves into redux applications
* Redux
* Initialisation
* We need a selector to extract our state
* We need a dispatcher to send state changes to
* We need a reducer that updates the state
* Page management
* We need to be able to display our pages
* We need other people to be able to select our page
* We need to select other people's pages
We need our starting state to be initiated. Things like messages/etc. Debug state...
* We need to get our 'common ids' out of the redux state
* These are information such as 'customer id', 'account id', 'application id'... etc
* They could change at any time. We need a local copy in our state
* So... we need some optioneering here
* Do we point our common lens at redux. We just use names for them, so we can centralise this
* Do we copy into our state every time? This is quite simple and the default
* Whatever we do we should 'information hide' it... check the design of the common lens...
* Messages
* Probably we are just using simple messages. Check if there is an existing message structure
* We just send 'our new state' which gets embedded back into the main.
* Note that at this point we will put things like common ids in the global state. This should be fine and allows performance optimisation in the selector
* Pretty much just a lens... takes our new state, stuffs it in the global
* Our 'SelectedPage' is almost what we need
* Might need a ReduxPage
##Select our page
* We need a React component to select our pages (one per team probably)
* We will need to find out how to do this, and then make a Depedency injection point for it.
So the only awkward bit is