Added in-memory-data support by implementing the UnitOfWork pattern