Issue 34

Best would be to refer you to Joshua Bloch's Effective Java 2nd edition Item 28 and PECS
You can also watch this https://www.youtube.com/watch?v=pi_I7oD_uGI

There isn't a one (`<? extends T>`) vs. the other (`<? super T>`) to apply everywhere, you need to consider the usage. In this case, the `CacheEventListener` consumes both `K` and `V`, so we want a `? super T`, as per PECS.

But as a simple example say you want to replicate a Cache using Listener and can replicate anything that's `Serializable`, then a `CacheEventListener<Serializable, Serializable>` should be registrable with a `Cache<Long, String>` for instance.