Making NHibernate Inversion of Control-Friendly