on(event, el, callback, options) {
		const events =  event.split(' ')

        for (let i = 0; i < events.length; i++) {
			if (typeof el === 'function' && callback === undefined) {
				makeBusStack(events[i])
				listeners[events[i]].push(el)
				continue
			}

            if (el.nodeType && el.nodeType === 1 || el === window || el === document) {
                el.addEventListener(events[i], callback, options)
                continue
            }

            el = maybeRunQuerySelector(el)

            for (let n = 0; n < el.length; n++) {
                el[n].addEventListener(events[i], callback, options)
            }
        }
    }
Bind event to a string, NodeList, or element.

@param {string} event
@param {string|NodeList|HTMLElement|Element|Window|Document|array|function} el
@param {*} [callback]
@param {{}|boolean} [options]