I'm trying to find a context pattern that works with/without having to wrap context Provider in app tree.
The expected behavior: When there's context Provider in the app tree, consuming component receive states relative to Provider. Otherwise, the states should be scoped locally to the consuming component.