reimplement modified fields by comparing values, to handle changes to JSON (mutable) fields