export const EventBus = { $on (eventType, callback) { document.addEventListener(eventType, (ev) => callback(ev.detail)) }, $dispatch (eventType, data) { const event = new CustomEvent(eventType, { detail: data }) document.dispatchEvent(event) }, $off (eventType, callback) { document.removeEventListener(eventType, callback) } } // usage EventBus.$dispatch('user.connect', { some: 'data' }) // consumption EventBus.$on('user.connect', (data) => console.log(data))