Observer: субъект публикует изменения подписчикам, не зная их конкретных реализаций. Подходит для UI-событий, state store, in-process уведомлений «один ко многим».
Практичный API
Подписка должна возвращать unsubscribe. Заранее реши: синхронная ли доставка, что с ошибками слушателей, что если subscribe/unsubscribe во время notify.