A category that allows the usage of start and completion blocks in CAAnimation instances, instead of an unpractical delegate.
To use it in your project, just add the CAAnimation Blocks.h and CAAnimation Blocks.m files, then just assign a void ^(BOOL) block to the completion property of the CAAnimation instance (which is added to it through a category). You can also assign a start block of the type void ^(void). You can find a working example in RootViewController.m.