     
     // MARK: - Private APIs
     
-    func bindCallbacks(#fulfilledCallback: FulfilledClosure, rejectedCallback: RejectedClosure)
-    {
-        self.fulfilledCallbacks.append(fulfilledCallback)
-        self.rejectedCallbacks.append(rejectedCallback)
+    func bindCallbacks(#fulfillCallback: FulfillClosure, rejectCallback: RejectClosure)
+    {
+        self.fulfillCallbacks.append(fulfillCallback)
+        self.rejectCallbacks.append(rejectCallback)
         
         switch self.state {
         case .Fulfilled:
-            fulfilledCallback(value: self.value!)
+            fulfillCallback(value: self.value!)
         case .Rejected:
-            rejectedCallback(reason: self.reason!)
+            rejectCallback(reason: self.reason!)
         default:
             break
         }

        let subPromise = self.dynamicType()
        
        self.bindCallbacks(
            fulfilledCallback: { (value) -> Void in
                onFulfilled(value: value)
                subPromise.onFulfilled(value)
            },
            rejectedCallback: { (reason) -> Void in
                subPromise.onRejected(reason)
            }
        );

        let subPromise = Promise<N>()
        
        self.bindCallbacks(
            fulfillCallback: { (value) -> Void in
                subPromise.resolve(thenable: onFulfilled(value: value))
            },
            rejectCallback: { (reason) -> Void in
                subPromise.onRejected(reason)
            }
        );
