ensure changedFields is object