const et = new EventTarget()
et.addEventListener('signal', e => console.log(e.type))
et.dispatchEvent(new Event('signal')) // β 'signal'The listener receives the Event object with type and other properties.
Passing { once: true } as the third argument makes the listener auto-remove after its first invocation.
Challenge: Verify that a listener with { once: true } fires only once even when the event is dispatched twice.