Promises for iOS and OS X