module AWS::Core::AsyncHandle

def on_failure(&block)

call the callback immediately.
If this is called when the task has already failed, it will

handle.on_failure { puts "It didn't work!" }

Registers a callback to be called when the task fails.
def on_failure(&block)
  if @_async_status == :failure
    block.call
  else
    (@_async_callbacks ||= []) << { :failure => block }
  end
end