La mia idea è, per creare una classe astratta / interfaccia che può essere estesa in un utente, e in un gruppo di utenti.
In realtà esiste una buona ragione per l'esistenza di questa interfaccia che collega i gruppi con gli utenti in quanto le uniche differenze tra un utente e un gruppo è che è possibile accedere come utente e non è possibile come gruppo e che un il gruppo può contenere più utenti o gruppi. Permessi e cose vengono gestiti senza prendere in considerazione che si tratta di un utente o di un gruppo.