I used `changeProperties` to ensure that `endPropertyChanges` is called, even when the assertion in `addObserverForContentKey` fail.
Without this, `endPropertyChanges` is not called when assertion fails, so the ObserverSet isn't flushed and later tests remain inconsistent.
If you have other idea, please give me know, and I update it. :+1: