After some elucubrations, I decided to massively refactor the Endpoint implementation so that it uses something more akin to a Django queryset, which should help in the long run (however long that is) and seems more readable as well - this adds the CrunchbaseQueryset class and the initial tests.