Avoiding adding multiple CacheKey's to cleanup
Added some documentation about why all the classes were needed