Rafactor worker objects

Encapsulating interactions with the cache with objects for each of the three caches
Create worker data objects that build from each other
refactor all code using the worker objects and cache objects
Updated Unit Tests
Pep8 Compliance