Added Cache interface; CacheListener takes a Cache parameter in all its methods