public void CanRegister()
        {
            ActiveRecordStarter.Initialize(typeof(Module).Assembly, ActiveRecordSectionHandler.Instance);

            var factory = ActiveRecordMediator.GetSessionFactoryHolder().GetSessionFactory(typeof(ActiveRecordBase));
            var repo = new ModulesRepository { SessionFactory = factory };
            var session = factory.OpenSession();
            NHibernate.Context.CurrentSessionContext.Bind(session);
            var person = session.CreateQuery("from Person").SetMaxResults(1).UniqueResult<Person>();
            Console.WriteLine(person.Id);
            var moduleAvailability = session.CreateQuery("from ModuleAvailability ma").SetMaxResults(1).UniqueResult<ModuleAvailability>();
            var reg = new ModuleRegistration(person, moduleAvailability);
            repo.SaveRegistraion(reg);

            session.Flush();
            session.Clear();
            Console.WriteLine(reg.ToString());

            var r = session.CreateQuery("from ModuleRegistration r where r.Student = :student")
                .SetEntity("student", person)
                .UniqueResult<ModuleRegistration>();

            Console.WriteLine(r.ToString());
        }