I was needing a solution to write to an audit log (Audit Table).
Didn't want to have audit calls being scattered around in services for
when a domain object is being updated or created. I wanted to use the
domain event afterInsert and afterUpdate but didn't see a way to get
the previous values when updating.
Ended up going with the plugin.
http://www.grails.org/plugin/audit-logging.
It does the job, by providing another method onChange(oldMap, newMap).