Moved most of the functions from Collection to Model.
Still needs to clean up @_requiresIdForMembers.