If ZPure is used together with Event Sourcing, because Event Sourcing has an EventHandler that folds events and applies them to the state, and ZPure also describes the change from the oldState to the newState, does this mean that the change function is provided by the State model and is called in both ZPure and the EventHandler? But is it still necessary to coordinate the changes in ZPure and the changes in Event Sourcing to be consistent?