Actually, you do see a lot of questions and problems with the single state atom. In fact, I&#x27;d argue it&#x27;s inherently a side step towards a future that has the best of both worlds: encapsulated state within components, but backed by some global state store invisibly.<p>This is exactly what Relay is by the way. You component asks for state, and gets it from a server. The fact that it comes through props is actually just a downgrade because it means you must now treat it as some special thing, and not variables.<p>In the ideal world, we can write simple components that fetch state from wherever (remote, local, global). They store that state into themselves, and it &quot;just works&quot;. They can write back that state just like how they write variables. And all of this &quot;local&quot; state would really be backed into a global state store invisibly.<p>Local state - Pros: easy to reason about, easy to use. Cons: trapped in one place, inflexible.<p>Global state - Pros: can be backed in various ways, easier to share. Cons: Hard to use, harder to reason about.<p>Local state backed to global store - Has all the pros and none of the cons. Unfortunately doesn&#x27;t exist yet today.