Если кратко

Рассыльщик:
1. Хранит список подписок
2. Умеет рассылать события

Подписчик:
1. Умеет подписываться у рассыльщика
2. Умеет отписываться у рассыльщика
3. Умеет реагировать на события

Вот и все