It's a hitch with the animationKeys trick.
Sometimes there may be some animations. Run as a dream after an animation is complete.
This means that a non-animating team can return a set of animation. Run even if it is not.
You can make sure that animationKeys is automatically removed by specifying an animation removed on theCompletion property of YES.
CABasicAnimation * animation = [CABasicAnimation animationWithKeyPath:@"aPath"]; animation.removedOnCompletion = YES;
If you do this for all the animations you use on your team, it will ensure that when the team does not animate, there is no animationKeys present.