Когда для дополнительной функциональности нам нужно что-то менять из существующего, это плохой дизайн )
Вот он и протекает последствиями, выражаясь в зависимости от порядка вызова и провоцируя на всяческие merge_plan.
Расскажите, что за кейс такой с событиями.