         self.capacity = capacity
     }
 
-    internal func complete(result:Try<T>) {
+    // MARK: Callbacks
+    internal func complete(result: Try<T>) {
         let future = Future<T>()
         future.complete(result)
         self.futureQueue.sync {

    }
}

public func forcomp<T,U>(f:Try<T>, g:Try<U>, apply:(T,U) -> Void) {
    f.foreach {fvalue in
        g.foreach {gvalue in
            apply(fvalue, gvalue)

    }
}

public func forcomp<T,U,V, W>(f: T?, g: U?, h: V?, yield: (T,U,V) -> W) -> W? {
    return f.flatmap {fvalue in
        g.flatmap {gvalue in
            h.map {hvalue in
