title: UIView animateWithDuration:delay: working weird
body: <p>I experience a strange problem with iPhone animation blocks.
  This code:</p>
  
  <pre><code>[UIView animateWithDuration:2 delay: 0 options: 0 animations:
  ^(void) { [controller setBackgroundColor: [UIColor blueColor]]; }
  completion: nil];
  
  [UIView animateWithDuration:2 delay: 2 options: 0 animations:
  ^(void) { [controller setBackgroundColor: [UIColor redColor]]; }
  completion: nil];
  </code></pre>
  
  <p>Instantly sets the background to red, without passing the blue state.
  The same thing EVEN for this code:</p>
  
  <pre><code>[UIView animateWithDuration:2 delay: 0 options: 0 animations:
  ^(void) { [controller setBackgroundColor: [UIColor blueColor]]; }
  completion: 
  
  ^(BOOL wrwg) {
      [UIView animateWithDuration:2 delay: 2 options: 0 animations:
      ^(void) { [controller setBackgroundColor: [UIColor redColor]]; }
      completion: nil];
  }];
  </code></pre>
  
  <p>That is, where I try to run the second animation AFTER the first has finished.
  What's the problem?</p>