Use a delegate for cache eviction decisions