fire (eventName, params = []) {
    if (this.listeners.hasOwnProperty(eventName)) {
      this.listeners[eventName].forEach(cb => {
        if (typeof cb === 'function') {
          cb.apply(this, params)
        }
      })
    }
  }
@param {string} eventName
@param {function} cb
@return {Push}