modifications to the contract of IDataContext, starting to stub out an implementation for nhibernate