зависит от задач, я как-то научился избегать их. Обычно так уж чтобы везде, не требуется, можно просто что-то делать в определенных местах, другой вопрос когда каша код и проще событие повесит.
которое не дает гарантии что оно везде и всегда будет срабатывать =) Типа кто-то подумал, а нафига я буду 100500 строк сохранять в цикле, сохранюка я через updateAll =)