Refactoring UnitOfWork - using UnitOfWorkSettings to pass storage name, getting rid of redundant methods. New method in Repository to return identity of inserted objects. New/refactored tests.