   is set to the object defined by rejectWith or resolveWith if those
   variants are used.
   ###
-  always: (args...) ->
+  always: (args...) =>
     return this if args.length == 0
     functions = flatten(args)
     if @_state == 'pending'

  ###
  Add progress callbacks to be fired when using notify()
  ###
  progress: (args...) ->
    return this if args.length == 0 or @_state != 'pending'
    functions = flatten(args)
    @_progressCallbacks or= []

  to reject and this is set to the object defined by rejectWith if that
  variant is used.
  ###
  fail: (args...) =>
    return this if args.length == 0
    functions = flatten(args)
    if @_state == 'rejected'
