da der Code den ich Refactorieren musste, extrem unsauber war
Das ist Dein Ansatz auch. Genauer gesagt, Dein Ansatz ist viel zu kompliziert, Du erstickst Dich selbst in einer Klassenflut. Von daher wäre das Erste was zu tun ist, den Code zu vereinfachen.
Natürlich kann man Daten per Instanz einer fremden Klasse in seinen eignen Konstruktor hineinreichen, aber es geht auch anders. D.h., die Daten die Dein Konstruktor benötigt müssen ja keine Instanzen fremder Klassen sein.
Etwas weiter ausgeholt: Ein Framework ist abstrakt gesehen nichts weiter als ein Inferface! Denn Du hast Methoden die gleichnamig stets in derselben Reihenfolge aufgerufen werden. Also ist es naheliegend, daß diese Methoden nacheinander von einundderselben Instanz aufgerufen werden. Und diese FW-Instanz bekommt Daten entweder über den Konstruktor oder später.
Genauso wie die FW-Instanz auch Instanzen fremder Klassen bekommt, entweder bei der Instanzerstellung oder im Verlauf des Programms.
MFG