https://www.somethingsblog.com/2024/10/18/node-js-event-handling-dispatching-made-easy/