Also letztlich funktioniert das mit den Teams dann so:
1. Man erstellt ein neues Team.
2. Bei Abspeichern wird neben dem Team auch zwei User-Gruppen angelegt. Eine Gruppe die für die Teammitglieder sind und eine Gruppe die für die Teamleiter da sind. Sprich in der Team-Tabelle ist dann neben Teamname/Logo etc die neu entstandenen Gruppen-IDs verknüpft.
Somit kannst du dann über das Gruppen/Rechtesystem einzelne Module, Rechte für die jeweiligen Teams univeral und dynamisch steuern. Sprich löscht du die Gruppen, löscht du auch das Team, löscht du das Team löscht du auch die Gruppe. Fügst du ein neues Team hinzu in der Gruppenverwaltung der Gruppenhinzu ist diesr auch im Team etc
Zu deinen Inferfaces. Ja es wird dann ein Team-Mapper/Model geben, auf welches dann zugegriffen werden kann. (siehe andere Module)
Ansonten kannst du gerne auch mal TS3 kommen