Split CacheReference into 2 classes