ну тут зависит от реализации на самом деле - если добавляем в домен зависимости без контроля цикла жизни - они все переживут домен, что повлияет на memory footprint и осложнение понимания системы - что живо что нет, что утекло (ну или надо еще заниматься геморроем с удалением).
Дальше - обход зависимостей - ответственность теперь домена (а оно ему надо ? ), если мы будем домен блокировать - множество зависимостей повлияет на динамические характеристики системы, если решим что блокировать не будем и будем обрабатывать в отдельном треде по сигналу - зачем такой тред внтури домена, вытащим его наружу, будем получать сигнал от домена и обходить зависимости асинхронно. Собственно это и есть - событие от домена с внешним обработчиком. В целом я не вижу большой драмы использовать интерфейсы, если маленький домен, потребители понятны, и в целом простая система - события ее только усложнят, фигачим монолит и подписываем зависимости, когда система растет - начинаются проблемы роста и вот тут уже было бы неплохо иметь возможность отвязать эти куски от домена, добавить сложные конструкции подписки, фильтрацию событий (не все подписчики хотят получать все подряд, статистика какая-нить интересуется только UserCreated событием а не UserNameUpdated) ну и вот тут тогда кухня с событиями начинает оправдывать свой overhead по придумыванию событий, дерганию их и все такое...