Sieht für mich auch erstmal einfach aus.
Ob es wirklich einfach ist oder nicht, hängt aber ganz stark davon ab, wie maximalgeschwindigkeiten implementiert sind.
Ist es im aktuellen Code überhaupt möglich oder ist der Code zumindest ohne riesen Aufwand dahingehend veränderbar, dass die maximale Geschwindigkeit eines Zuges veränderbar ist, nachdem der Zug erzeugt wurde?
Denn genau das müsste dem Programmteil der die Züge bewegt bei jedem wenden von Zügen ohne Steuerwagen in irgend einer Art mitgeteilt werden (entweder dieser Teil kennt beide Geschwindigkeiten und entscheidet anhand der Fahrtrichtung oder dieser weiß nur wie man Züge bewegt und ein anderer Teil müsste diesem das explizit mitteilen oder -viele weitere Möglichkeiten-.
Prinzipiell sehe ich da jetzt erstmal kein Problem drin aber zu sagen, dass etwas einfach umsetzbar ist, ohne den code zu kennen finde ich ziemlich kritisch.
Zu 2.: Steuerwagen müssten dann aber auf jeden Fall erstmal als solche definiert sein. In welcher Art auch immer man diese Information hinterlegen möchte, da gibt es wieder viele Möglichkeiten.
Die Idee an sicht finde ich aber super, so lange diese abschaltbar bleibt und hinten nicht zwangsläufig ein Steuerwagen hängen muss, sondern auch eine weitere Lok OK ist, im Endeffekt also jede Lok einfach ein angetriebener Steuerwagen ist.