#2 - added documentation to BlockDispatcher and NSObject+PerformBlock