docs: function Delegate(root) {
  
    /**
     * Maintain a map of listener
     * lists, keyed by event name.
     *
     * @type Object
     */
    this.listenerMap = [{}, {}];
    if (root) {
      this.root(root);
    }
  
    /** @type function() */
    this.handle = Delegate.prototype.handle.bind(this);
  }