changed: Refactor so 2 sub caches can be used
added: Cache age logic (WIP)