make sure to bind model events