Admit/Expel & Join/Part refactor + test cases