Split out the caching classes