code: function( events ) {
      const delegateEventSplitter = /^(\S+)\s*(.*)$/;
      let key;
      let method;
      let match;
  
      events = events || ( events = this.events );
      if ( !events ) return this;
      this.undelegateEvents();
      this._delegate = new Delegate( this.element );
      for ( key in events ) {
        if ( {}.hasOwnProperty.call( events, key ) ) {
          method = events[key];
          if ( isFunction( this[method] ) ) method = this[method];
          if ( method ) {
            match = key.match( delegateEventSplitter );
            this.delegate( match[1], match[2], method.bind( this ) );
          }
        }
      }
      this.trigger( 'component:bound' );
  
      return this;
    }
docs: TODO Fix complexity issue /* eslint-disable complexity 
  Function used to up event delegation on the base element.
  Using Dom-delegate library to enable this functionality.
  
  @param {Object} events - Hash of events to bind to the dom element.
  @returns {AtomicComponent} An instance.