UnitOfWork refactoring + new specs