I don't think we should emit the 'change' event before updating `this.cache`. Synchronous handlers on the change event may try to use `.get` and not get what they expect.