Hmm, I'm a bit worried about the extensibility of this. IOW, if someone adds a new annotation+event, are they gonna have to go and update this as well? Could these events be retrieved from the central code dealing with cache listener annotations instead? That way adding support for a new annotation can be done centrally and DecoratedCache instances benefit directly wo/ the need to modify this class.