События и транзакции

Столкнулся с одной проблемой.

Есть несколько объектов, которые нужно сохранить в одной транзакции. Вполне вероятно, что может произойти ошибка.

У этих объектов есть хендлеры, которые слушают событие onAfterSave. К сожалению, они срабатывают ДО того, как транзакция завершена - это и не устраивает. Есть ли стандартные способы решения проблемы, или придется делать что то типа unit of work самому?

onAfterSave в данном случае срабатывает у каждой индивидуальной модели при вызове метода save, так что тут с этим ничего не сделаешь - транзакции сами по себе живут вообще. Так что придётся делать собственное событие и его запускать после успешного commit