                 nextDeferred.progress(nextProgress)
             }
         )
-        self.bindCallbackSet(callbackSet, forDeferred: nextDeferred)
+        self.bindCallbackSet(callbackSet)
 
         nextDeferred.onCanceled { [unowned self, callbackSet] () -> Promise<Void> in
             self.cancelByRemovingCallbackSet(callbackSet)

            }
        )
        
        self.bindCallbackSet(callbackSet, forDeferred: nextDeferred)
        
        nextDeferred.onCanceled { [unowned self, callbackSet] () -> Promise<Void> in
            self.cancelByRemovingCallbackSet(callbackSet)

                nextDeferred.progress(progress)
            }
        )
        self.bindCallbackSet(callbackSet)

        nextDeferred.onCanceled { [unowned self, callbackSet] () -> Promise<Void> in
            self.cancelByRemovingCallbackSet(callbackSet)
