this also allows plugins that wish to operate directly on a repository (for example, maven snapshot purging).
The resolution strategy for resources in the repository is abstracted from the storage and metadata to allow multiple strategies.