Fix circular constraints

Makes event locking more robust by keeping a list of events fired in
the same scope as side effects of the current trigger() call
[Delivers #84528284]