The difference is that this version dispatches events synchronously, which helps us write tests that don't timeout.