function addProtectedCallback(eventName, callback) {
      oboeBus(eventName).on(protectedCallback(callback), callback);
      return oboeApi; // chaining            
   }
Add a callback, wrapped in a try/catch so as to not break the
execution of Oboe if an exception is thrown (fail events are 
fired instead)

The callback is used as the listener id so that it can later be
removed using .un(callback)