docs: function(type, detail, onNode, bubbles, cancelable) {
        var node = onNode || this;
        var detail = detail === null || detail === undefined ? {} : detail;
        var event = new CustomEvent(type, {
          bubbles: bubbles !== undefined ? bubbles : true,
          cancelable: cancelable !== undefined ? cancelable : true,
          detail: detail
        });
        node.dispatchEvent(event);
        return event;
      }