             @fired = 1
             @complete error
             @results = [null, error]
+            undefined
 
         # call progress to provide updates on the progress on the completion of the promise
         progress: (update) -> 

    "clazzy/Exception"
], (Class, Exception) ->
    'use strict'
    
    mutator = () ->
    freeze = Object.freeze or () -> 
    _hitch = (that, func) ->
        if not that then func else () -> 
            func.apply(that, arguments || [])

    # A deferred provides an API for creating and resolving a promise.
    Class "clazzy.Deferred", null, null
        constructor: () -> 
            @canceller
            @result
            @finished

                progress = listener.progress
                progress and progress update
                listener = listener.next
            undefined
        addCallbacks: (callback, errback) ->
            @then callback, errback, mutator
            this
