A simple yet extensible cache abstraction for the .net framework