coerceData in mongoSaveHandler keeps nulls when forceUpdate
other improvements such as not evaluating properties that are irrelevant