This statement will also be false if postSave() is called right after save() like it is in this PR. The save() method calls generatePropertyHashes() which will calculated new property hashes which in turn causes isModified() to always return false since no property has changed since save(). We can put clearCache() in the second if statement in this method like it was before or always call clearCache().