- Updates dispatchSemaphoreInBlock: method to something simpler that doesn't need semaphore, thus avoid the iOS 5 error.

Should refactor the unit tests to use mocks and stubs and make it simpler.