Lesser-Known NHibernate Features: Validation and Lifecycle Interfaces