A biblioteca consiste num mapa de valor e ouvintes.
type Handler = (payload: any) => void;
type Listeners = Map<string, Array<Handler>>;
type Emitters = WeakMap<any, Listeners>;Qualquer valor JavaScript pode ter ouvintes relacionados a ele.
const createEventEmitter = (name: any) => EventEmitter;
createEventEmitter('Sou um valor qualquer').on('Evento', (payload) => console.log('Handler do "Evento". ' + payload))
createEventEmitter('Sou um valor qualquer').emit('Evento', 'Sou o payload do "Evento".')
// Handler do "Evento". Sou o payload do "Evento".