Make model event callbacks asynchronous with a flag (Model.asyncEvents).
As a result all tests had to be updated to handle async events.