Because it automates away bookkeeping. Consider<p><pre><code>  component.state.x = 5;
  component.state.y = &quot;blah&quot;;
  component.state.z = &quot;bug!&quot;;
  component.stateChanged(&quot;x&quot;,&quot;y&quot;);
</code></pre>
That one line addition should have included a change to the last line.<p>Also, I don&#x27;t know whether it is done, but with a relatively slow&#x2F;relatively large overhead network between the bound objects, software can bunch up the synchronization of changes to independent objects.