I don't think you're missing anything - those two points are the main pros & cons - along with compatibility issues for third party plugins (eg PlanningInfo loses an argument and then all the 3rd party providers break).

On the surface it does seem to only matter if we ever get to the point of having 3rd party devs - which as you say is a long way away - but i'm wondering whether it exposes something wrong in our API, or the way we're using it. Perhaps the provider should be thinking more low level and the bulk of get_features done at a higher level or something. But even if more is moved away from the Provider we'll still hit this issue of "to import or not to import". In short I don't actually have an answer.

I'll merge this now and I'll try to find time tomorrow to have a look at how other people do this kind of thing.