On Write
typealias OnWrite = (action: Any, modelClass: KClass<*>, prev: Any, next: Any, source: String) -> Unit
Observer invoked for every effective model write during a dispatch, i.e. only when the new instance is referentially different (next !== prev). Fired synchronously during the fold, before the dispatch commits, so under last-write-wins it can observe intermediate (clobbered) values. It MUST be a pure observer: it must not call dispatch or read the store.