`_copyDirtyAttributesToData` calls `_resetDirtyStateInNestedObjects`. are we calling it twice now unneccessarily?