Extract and unit test response object.
Add get groups call.  Introduces lazy loading of profiles.
Add get group by ID method.
Add get group members call.
Rework lazy loading.
Test that we don't load JSON on an invalid property.
Simplify memoization.
Introduce pagination for group members.
Add method to iterate through group members.
Apply pagination to groups too.
Support getting catalog documents by ID.  Include misc tidy-ups.
Refactor lazy loading to avoid multiple inheritance.
Remove print statement
Add get catalog document by identifier.
Add catalog lookup.
Lock down versions.
Refactor models.
Add basic catalog search.
Add advanced search.
Move group members under groups.