     
     // MARK: - Callbacks
     
-    func bindCallbackSet<D>(callbackSet: CallbackSet<V, NSError>, forDeferred deferred: Deferred<D>) -> Void {
+    func bindCallbackSet(callbackSet: CallbackSet<V, NSError>) -> Void {
         objc_sync_enter(self)
         
         self.callbackSets.append(callbackSet)

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

        }
        
        let callbackSet = CallbackSet<V, NSError>(fulfillCallback, rejectCallback, progressCallback)
        self.bindCallbackSet(callbackSet)
        
        nextDeferred.onCanceled { [unowned self, callbackSet] () -> Promise<Void> in
            self.cancelByRemovingCallbackSet(callbackSet)
