docs: function (type, sticky) {
      this.type = type;
      // Map of guid -> function.
      this.handlers = {};
      // 0 = Non-sticky, 1 = Sticky non-fired, 2 = Sticky fired.
      this.state = sticky ? 1 : 0;
      // Used in sticky mode to remember args passed to fire().
      this.fireArgs = null;
      // Used by onHasSubscribersChange to know if there are any listeners.
      this.numHandlers = 0;
      // Function that is called when the first listener is subscribed, or when
      // the last listener is unsubscribed.
      this.onHasSubscribersChange = null;
  }