allow null values to trigger hasChanged() assertion
`isset($properties[$property])` returns false when the value is null.
null is a legitimate change for a database field.
switching to `array_key_exists()` fixes this.