I had the idea that even if ending up with a single structure, we would classify the providers by interface upon load, and still end up with different provider lists by type.

I.e. when loading a plugin, you figure out which interfaces it provides, and add it to a dictionary such as:

```python
PROVIDERS = {
    IPlanningProvider: [ <github>, <jira> ],
    ISourceCodeControlProvider: [ <git> ],
    IBuildInfoProvider: [ <jenkins> ],
    IOAuthProvider: [ <github> ],
}
```