It appears that the event is being fired, and then we are updating the internal model version. It might make sense to update the model version before firing the event, we will look into that to see if it is appropriate.
If you are interested in knowing about each individual version, there is also a VERSION_CHANGED event on the RealTimeModel class that will notify you any time the version changes. This would include remote operations from other users as well as operations your local client sent over that have been acknowledged by the server.
Lastly, just for some house keeping, you are using model.on() and model.off() to essentially implement the event emitter “once()” pattern. We support that directly: