         }
     }
     
+    // TODO: private
     func callbackExecutionContext(context: ExecutionContext?) -> ExecutionContext {
         if let givenContext = context {
             return givenContext

        }, executionContext: executionContext)
    }
    
    func runCallbacks() {
        q.async {
            for callback in self.callbacks {

        }, executionContext: executionContext)
    }
    
    // TODO: private
    func onFailure(callback: NSError -> (), executionContext: ExecutionContext? = nil) {
        self.onComplete({ (value, error) in
            if error {
