Replaced CachedObject.o with interface for easier testing