newCallback = function(var_args) {
    try {
      callback.apply(opt_scope, arguments);
    } finally {
      self.removeListener(eventType, newCallback);
    }
  }
Adds a listener to this event type. After the event fires, the event
listener is removed from the target.
@param {string} eventType Event type name.
@param {!Function} callback Callback function.
@param {Object=} opt_scope Scope for the callback function.