DataMapper::Observer allows you to add callback hooks to many models. This is similar to observers in ActiveRecord.
include DataMapper::Resource property :id, Serial property :name, String
include DataMapper::Observer observe Adam before :save do # log message end before :get_drunk do # eat something end after_class_method :unite do raise "Call for help!" end