 
         switch self.state {
         case .Pending:
-            performSync {
-                self.fulfillCallbacks.append(onFulfilledAsync)
-            }
+            self.fulfillCallbacks.append(onFulfilledAsync)
         case .Fulfilled(let value):
             onFulfilledAsync(value)
         case .Rejected(_):


        switch self.state {
        case .Pending:
            performSync {
                self.rejectCallbacks.append(onRejectedAsync)
            }
        case .Fulfilled(_):
            return
        case .Rejected(let error):


        switch self.state {
        case .Pending:
            self.fulfillCallbacks.append(onFulfilledAsync)
        case .Fulfilled(let value):
            onFulfilledAsync(value)
        case .Rejected(_):
