export class EventBus
{
    static listeners = []

    static addEventListener(eventName, callback)
    {
        EventBus.listeners.push({eventName, callback});

        window.addEventListener(eventName, callback, false);
    }

    static dispatchEvent(event)
    {
        window.dispatchEvent(event);
    }

    static clear()
    {
        for (const listener of EventBus.listeners) {
            window.removeEventListener(listener.eventName, listener.callback, false);
        }

        EventBus.listeners = [];
    }
}
