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

        self.value = value
        self.state = .Fulfilled
        
        for callback in self.fulfilledCallbacks {
            callback(value: value)
        }
    }

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