По использованию выражений из аббревиатуры CRUD в названиях событий бизнес-логики я предположу, что приложение относительно не сложное, а события не будут переиспользованы. Если вы не собираетесь вешать на это событие нескольно обработчиков, то рекомендую не усложнять и просто убедиться, что друг от друга отделена логика контроллера, отправки сообщений и хранения шаблонов.
Пример использования системы подписок в Symfony можно в подсмотреть в системе валидации. Там как раз и переиспользование событий в их собственной системе, и точки, к которым можно подсоединиться пользовательским кодом.