It was envisioned that Team class would hold data for premade teams and ParticipantTeam would be a many to many relation between Team and Scrim. However it has become evident this creates unnecessary complexity in the code. Merge ParticipantTeam and Team and introduce a new dataclass PremadeTeam that can be used for building scrims with premade teams instead of the normal joining mechanic.
It was envisioned that Team class would hold data for premade teams and ParticipantTeam would be a many to many relation between Team and Scrim. However it has become evident this creates unnecessary complexity in the code. Merge ParticipantTeam and Team and introduce a new dataclass PremadeTeam that can be used for building scrims with premade teams instead of the normal joining mechanic.