Rework to allow flushing of cache per call
Add interface for caching class