Здесь первая абстракция это UserNotifier, сервис который оповещает пользователя. Он скрывает в себе способы уведомления. Что то типа одного метода Notify. Его можно внедрять через DI контейнер.
А он внутри реализуется со знанием каналов доставки оповещения. Но и здесь бы я абстрагировался от конкретных реализаций через Slack, SMS, Telegram. Подключением конкретных реализаций должно заниматься приложение, а не реализация сервиса UserNotify, подключение также через DI.