                 }
             },
             rejectCallback: { (reason) -> Void in
-                
                 if let rejection = onRejected? {
                     rejection(reason: reason)
                     subPromise.resolve(value: nil)

        self.resolve(anyThenable: anyThenable)
    }
    
    // MARK: - Private APIs
    
    func bindCallbacks(#fulfillCallback: FulfillClosure, rejectCallback: RejectClosure)
    {

    public var value: V? = nil
    public var reason: NSError? = nil
    
    lazy var fulfillCallbacks: [FulfillClosure] = []
    lazy var rejectCallbacks: [RejectClosure] = []
    
    
    // MARK: - Initializers
    
    init() {}
    
    required
    public init(value: V)
