I don't see why it's required. Even on the resolvers side both arguments are optional. It should be valid to call remove with multiple filters/path on the resolver directly. The `CacheManager::remove` should not iterate on the given filters itself, but collect the intersections for multiple filters and resolvers, so it's going to call each respective resolver once on a `remove` call with the list of filters collected and the path(s) requested. This allows the resolver to implement more sophisticated ways in deleting multiple references (e.g. a delete on a database, removing a complete folder instead of files, batching an HTTP request body, ..).