or better: derive newMembers from localMembers, upMembers and exitingMembers; keep things DRY