That makes me think...

Given the following code:
```
class User {
    public function getPhone();
}

$user = new User(['name' => 'John']);
$user->save();
```

On my view, if `$user->has('phone')` returns true, I would expect the getter to be called when saving.
That may give problems when trying to figure out if a property is dirty or not. Would a property be dirty if it `$user->has('phone')`?