Put together basic caching class