Stop Using CustomEvent: Subclass Event Instead
CustomEvent was a stopgap for browsers that couldn’t subclass Event; modern browsers support native class inheritance, so using CustomEvent forces developers to juggle the awkward `detail` payload. Subclassing Event gives type‑safe, intuitive events that behave like native MouseEvent, reducing boilerplate and leaking fewer implementation details. Switching now modernizes your component APIs.