         if let result = result {
             savedCompletion(result)
         } else {
-            Queue.simpleFutures.sync {
+            queue.sync {
                 self.savedCompletions[cancelToken.completionId] = savedCompletion
             }
         }

    }

    public func cancel(cancelToken: CancelToken) -> Bool {
        return Queue.simpleFutures.sync {
            guard let _ = self.savedCompletions.removeValueForKey(cancelToken.completionId) else {
                return false
            }


}

// MARK: - Futurable -
public protocol Futurable {
    typealias T
    func onComplete(context context: ExecutionContext, cancelToken: CancelToken, complete: Try<T> -> Void) -> Void
}

// MARK: - Future -

public final class Future<T> : Futurable {

    typealias OnComplete = Try<T> -> Void
    private var savedCompletions = [CompletionId : OnComplete]()
    private let queue = Queue("us.gnos.simpleFutures.main")

    public private(set) var result: Try<T>? {
        willSet {
