Purely FYI to make sure we're on the same page - this is the same as having on line 52 ``for project in self.api.products()`` in the sense that we don't "save" any time by putting it here.

Currently all providers are instantiated on every request, so as a result all the projects are retrieved each time - wherever this code is put.

This is something we may want to change - to allow a provider to store some information in the session, or in some cache. But that's for another day - just thought I should raise it in case you were under the impression that providers were created once per session and only get_features() was called each request.