title: How does [UIView beginAnimations] work?
body: <p>I was wondering how animations work in Cocoa Touch.  For example:</p>
  
  <pre><code>[UIView beginAnimations:nil context:nil];
  [UIView setAnimationDuration:1.0];
  
  view1.alpha = 1.0;
  view2.frame.origin.x += 100;
  
  [UIView commitAnimations];
  </code></pre>
  
  <p>How does <code>UIView</code> tracks the changes to the properties of the two views?</p>
  
  <p>I suspect that KVO is used, but does it really observe the changes to every views between the  <code>beginAnimations</code> and <code>commitAnimations</code> calls?</p>
  
  <p>Any insight would be appreciated!</p>