Promises/A+ Objective-C implementation