A DRY new way of writing your data caching code for .NET 4.0 and up