Do we need to emit failure events?  AgentLogs will be created automatically for manual debugging and viewable in the web UI.

Also, please don't rescue `Exception`, as that will rescue [all of these Exception classes](http://blog.nicksieger.com/articles/2006/09/06/rubys-exception-hierarchy/).  If you must, rescue `StandardError`.