Implement `_was` and `changes` for in-place mutations of AR attributes

why is this necessary?