Can `Group` be used instead of creating a new class?  (I am not sure if they are actually interchangable - `Group` has pending and metadata, etc.  But if they are interchangable, probably in the above `Groups._dict_to_obj` we can do [Group._dict_to_obj(g) for g in groups.group]` instead?