PubSub шаблон

Моё решение