model events now return itself as a param
move error handler helper