Crear una referencia débil regular en Javascript usando WeakMaps

Estoy tratando de hacer elobvio cosa con WeakMaps: quiero crear una referencia débil. En particular, quiero tener una lista de oyentes de eventos sin que esa lista influya en la vida del oyente.

Así que estaba muy emocionado de encontrar WeakMaps, hasta que vi que solo fueron construidos para satisfacer un caso de uso (bastante raro), extendiendo objetos que de otro modo estarían sellados. No puedo pensar cuándo alguna vez quise hacer eso, pero necesito listas de oyentes todo el tiempo.

¿Es posible usar WeakMaps de alguna manera inteligente en la que no haya pensado hacer esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta