def always(&block)
      cb = Callback.new(block)
      always_callbacks << cb
      cb.call(*callback_response) if resolved?
      cb.promise
    end
def always(&block)
      cb = Callback.new(block)
      always_callbacks << cb
      cb.call(*callback_response) if resolved?
      cb.promise
    end
Register a callback to be run when the deferred is resolved.

 @yieldparam [Object] value
 @yieldparam [Object] reason
 @return [Promise] a new promise representing the return value
   of the callback, or -- when that return value is a promise itself
   -- a promise mimicking that promise.