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

        }
    }
    
    func success(value: T?) {
        self.trySuccess(value)
    }
    
    func trySuccess(value: T?) -> Bool {
        return (q.sync {
            if self.result.state != .Pending {

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