After using `appointment.saveChanges()`, I still see attributes in `appointments.changed()`, coming from `appointment.changedAttributes()`. Calling `appointment._internalModel.flushChangedAttributes()` would solve the problem.