You probably shouldn't not use `changes` here, because it makes the code very difficult to follow, and unnecessarily inefficient :(

You see, `changes` internally calls `attribute_change`, which calls `attribute_changed?` again (!)

Seeing that `changed_attributes` already give you the original value, you should probably use that instead. :)