Heavily refactored UnitOfWork (WIP + Breaking changes).