Use -eachWithIndex: for the -each: implementation
Declare block types

As per:
http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/bxDeclaringCreating.html#//apple_ref/doc/uid/TP40007502-CH4-SW1