def report_failure(title, message, exception = nil)
      if exception
        Log.error("ExternalParameterGatherer failed due to " +
                  "#{exception.class.name}: #{exception.message} (#{exception.backtrace.first})")
      end

      @failure_title   = title
      @failure_message = message
      EM.next_tick { fail }
    end
def report_failure(title, message, exception = nil)
      if exception
        Log.error("ExternalParameterGatherer failed due to " +
                  "#{exception.class.name}: #{exception.message} (#{exception.backtrace.first})")
      end

      @failure_title   = title
      @failure_message = message
      EM.next_tick { fail }
    end
Report a failure by setting some attributes that our caller will query, then updating our Deferrable
 disposition so our caller gets notified via errback.