code: function executeListener( listener, data, scope ){
      const isFunction = typeof listener === 'function';
      
      switch( data.length ){
          case 0:
              listenEmpty    ( listener, isFunction, scope );
              break;
          case 1:
              listenOne      ( listener, isFunction, scope, data[ 0 ] );
              break;
          case 2:
              listenTwo      ( listener, isFunction, scope, data[ 0 ], data[ 1 ] );
              break;
          case 3:
              listenThree    ( listener, isFunction, scope, data[ 0 ], data[ 1 ], data[ 2 ] );
              break;
          default:
              listenMany     ( listener, isFunction, scope, data );
              break;
      }
  }
docs: Executes a listener using the internal `execute*` functions based on the number of arguments.
  @function Emitter~executeListener
  @param {Array<Listener>|Listener} listener
  @param {external:Array} data
  @param {*} scope