http://developer.apple.com/mac/articles/cocoa/introblocksgcd.html