on(eventName, callback) {
    if (typeof callback !== 'function') {
      console.error('ASScroll: Function not provided as second parameter');
      return;
    }

    if (eventName === 'scroll') {
      src_e.on(Events.EXTERNALSCROLL, callback);
      return;
    }

    if (eventName === 'update') {
      src_e.on(Events.EXTERNALRAF, callback);
      return;
    }

    if (eventName === 'scrollEnd') {
      src_e.on(Events.SCROLLEND, callback);
      return;
    }

    console.warn(`ASScroll: "${eventName}" is not a valid event`);
  }
Add an event listener.

@example <caption>Logs out the scroll position when the 'scroll' event is fired</caption>
asscroll.on('scroll', scrollPos => console.log(scrollPos))

@example <caption>Returns the target scroll position and current scroll position during the internal update loop</caption>
asscroll.on('update', ({ targetPos, currentPos }) => console.log(targetPos, currentPos))

@example <caption>Fires when the lerped scroll position has reached the target position</caption>
asscroll.on('scrollEnd', scrollPos => console.log(scrollPos))

@param {string} eventName Name of the event you wish to listen for
@param {function} callback Callback function that should be executed when the event fires