Unify naming of change callbacks
Add a 'Change' class to wrap path and change record

Note: The API has changed in a backwards incompatible way!