Можно использовать паттерн мост, brigde.
https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D1%81%D...
Ну и примерно к такому виду все приведется:
$notifier = new Notifier(new Sms());
$notifier->send ....
$notifier = new Notifier(new Mail());
$notifier->send....
И дальше по аналогии. Классы реализаторы Sms и Mail должны реализовывать один и тот же интерфейс, в котором например будет метод send.