This looks great and I'm happy to merge it as is but what do you think about combining the two lines?
```php
        if ($this->_values[$attr]->getChangedAttributes()) {
```
It seems like `getChangedAttributes()` always returns an array, and empty arrays are false so it seems like nice simplification.