Refactored pacticipant creation and updating