Criando uma referência fraca regular em Javascript usando WeakMaps

Estou tentando fazer oóbvio coisa com WeakMaps: eu quero criar uma referência fraca. Em particular, quero ter uma lista de ouvintes de eventos sem que essa lista influencie a vida do ouvinte.

Por isso, fiquei muito empolgado em encontrar o WeakMaps, até que vi que eles foram criados apenas para satisfazer um caso de uso (bastante raro), estendendo objetos que, de outra forma, eram selados. Não consigo pensar quando quis fazer isso, mas preciso de listas de ouvintes o tempo todo.

É possível usar o WeakMaps de alguma maneira inteligente que eu não tenha pensado em fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion