I think we can have only one event class, let's say CacheResolveEvent. In pre event the url will be null of cource.

You should add setters too to allow modify params in the event.