_event(name2, data) {
    this.dispatchEvent(new CustomEvent("".concat(this.localName, ":").concat(name2), {
      bubbles: true,
      composed: true,
      detail: {
        id: this.id,
        name: this.name,
        data
      }
    }));
  }
Custom event dispacher `component-name:name` with detail data
@example
  this._event('ready')
@example
  this._event('ready', {age: 42, type: 'android'})

@param {string} name A name to give the event, added to the component-name separated with a :
@param {*=} data Optional data object to pass to event listeners via the evt.detail property