title: CAAnimation delegate methods not called
body: <p>I am having an issue with iOS <code>CABasicAnimation</code>. No matter what I do, I cannot get the methods <code>animationDidStart:</code> and <code>animationDidStop:finished:</code> to fire. My class is subclassing <code>CAShapeLayer</code> and is performing the animations inside of it:</p>
  
  <pre><code>- (void)start{
      [self removeAllAnimations];
  
      CABasicAnimation *pathAnimation = [self makeAnimationForKey:@"strokeEnd"];
      [self addAnimation:pathAnimation forKey:@"strokeEnd"];
  }
  
  - (CABasicAnimation *)makeAnimationForKey:(NSString *)key {
      CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:key];
      anim.fromValue = [NSNumber numberWithFloat:0.f];
      anim.toValue = [NSNumber numberWithFloat:1.f];
  
      anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
      anim.duration = self.duration;
      anim.delegate = self;
      return anim;
  }
  
  - (void)animationDidStart:(CAAnimation *)anim{
      NSLog(@"HERE START");
  }
  
  - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
      NSLog(@"HERE STOP");
  }
  </code></pre>
  
  <p>Any tips or help would be appreciated, thanks in advance!</p>