I'm not sure about returning dicts. 

The point in favour of the `dict` approach is to reduce the *framework* feel of the project, where one can build a plugin with no imports to the project. (I believe this only applies to third party developers of plugins that are not contributing to this repo, but building a 3rd party package that one can install as an extension to it - we're quite far from that, if we ever get there...).

A point against it is the fact that provider developers will have to rely on extra documentation (the keys that must be included in the returned dict), which means we will have to keep two pieces of code in two different modules in sync. That doesn't sound very DRY to me.

I'm probably missing something, so what do you think? Do you believe the first argument has more in its favour than the second?