Example of Unit of Work with Snapshots and Caching Support