- moved ModelEvents into its own class
- added BEFORE_UPDATE event handler to model events that will update the updatedAt field