I think it might be cleaner if we didn't rely on the setGroupMembers function to take care of joining/requesting to join/leaving a group. For those 3 actions, it might be better to have separate REST endpoints and API functions, as well as tests. It should allow us to keep the logic separated.