That&#x27;s generally what you try to do in MVVM apps too... you have some &quot;service&quot; that stores all the state. User input goes:<p>View -&gt; ViewModel -&gt; Service<p>and the data goes<p>Service -&gt; ViewModel -&gt; View<p>However, the same app state may be presented in different ways in different parts of the UI. Those different ways could each have their own ViewModel for transforming that state as needed for its presentation.<p>Poorly architected MVVM apps have lots of inter-ViewModel dependencies... that&#x27;s where you wind up with state spaghetti.