A global initializeLaunch is a deal breaker.
Services should be passed a provider (similar to Redux). Having state stored globally can cause many issues:
- Testing is harder, as the state can be shared
- Having sub-stores is impossible
- Having parallel stores is impossible