DDF-285 Refactored first iteration of cache implementation.