Ich würd den Javascript replay mal drin lassen. Wenn er ned tut ist nicht weiter schlim, da du ja ein select feld hast, wenn er tut ist er ganz nützlich.
Bei den childs siehts in ordnung aus.
Du hast auch keine 20 Lösungen. Wir müssen uns nur um die anzahl hierarchien kümmern wenn der user ned eingelogt ist.
Wenn er eingeloggt ist, kann er das ja selber bestimmen.