An Objective-C promise library with support for NSOperation