on(eventType) {
    const events = {
      // executed just prior to the row being returned by the layout class. Receives the DOMelement about to be passed back
      /**
       * @param {Node} element
       */
      prerender: element => element,

      /**
       * onRender event to execute code each time an instance of this control is injected into the DOM
       * @param {Node} evt
       */
      render: evt => {
        // check for a class render event - default to an empty function
        const onRender = () => {
          if (this.onRender) {
            this.onRender(evt)
          }
        }

        // check for any css & javascript to include
        if (this.css) {
          getStyles(this.css)
        }
        if (this.js && !isCached(this.js)) {
          getScripts(this.js).done(onRender)
        } else {
          onRender(evt)
        }
      },
    }
    return eventType ? events[eventType] : events
  }
code to execute for supported events
to implement an onRender event in a child class, simply define an onRender method
@param {String} eventType - optional type of event to retrieve an event function for. If not specified all events returned
@return {Function/Object} - function to execute for specified event, or all events of no eventType is specified