Ну можно обработку сделать вызовом метода сервиса. А не через события. Проще и нагляднее.
Проще и нагляднее, если бы не одно но. Предположим, мы выносим все в сервис. Дергать сервис из модели — не лучшая идея, правильнее дергать из контроллера, например. Так вот, если 2 контролера могут "подтвердить платеж", то мне в 2-х местах надо не забыть дернуть этот сервис, а событие я привязываю к модели один раз и мне пофиг, откуда подтвердился платеж