Renamed _cache to cache because it may need external interaction