Events in Movable Type
As Movable Type runs it is constantly firing events. Often these events get fired off into the ether because no plugin has registered a callback for it. When a callback has been registered, this is what happens:
Movable Type encounters a point in its operation where it needs to notify plugins than an event of interest to them occurred.
If multiple callbacks are listening for that event, they are sorted in priority order.
One-by-one, each callback is executed in priority order.
Movable Type blocks while each callback runs. In other words, Movable Type does not invoke the next callback, or continue normal operation until the callback being invoked is finished running.
Once all the callbacks are finished running, Movable Type resumes normal operations until it encounters another points in its operation where it needs to fire an event.