Avoid sync race condition.

We must finish mutating ourself before we call event listeners.

If an event listener access `varhash.foo` it should work.