title: Why should I use an CATransaction in an animation?
body: <p>I've found this code snippet:</p>
  
  <pre><code>[self setValue:direction forKey:@"currentDirection"];
  
  CAKeyframeAnimation * animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
  animation.path = path;
  animation.duration = grids * gridWidth / [self speed];
  animation.fillMode = kCAFillModeForwards;
  animation.removedOnCompletion = NO;
  animation.delegate = self;
  animation.calculationMode = kCAAnimationLinear;
  [self addAnimation:animation forKey:@"movement"];
  self.position = destination;
  
  [CATransaction begin];
  [CATransaction setValue:[NSNumber numberWithFloat:_turn_duration]
                                            forKey:kCATransactionAnimationDuration];
  eyes.position = eyeDestination;
  pupils.position = pupilDestination;
  [CATransaction commit];
  
  CGPathRelease(path);
  </code></pre>
  
  <p>What's the point of using the CATransaction here?</p>