Der "Haupttask" muß nur die Signatur der anonymen Methoden kennen, die "Nebentasks" können dann entsprechende Methoden beim Haupttask registrieren. In diesem Scenario kennen die Nebentasks den Haupttask, d.h nutzen dessen
Unit in der Uses-Klause, aber nicht umgekehrt. Das läßt sich noch weiter entkoppeln, wenn Du einen "task manager" als separate Klasse in einer eigenen
unit verwendest (z. B. als Singleton), mit der sich auch der Haupttask registriert. Besonders wenn es davon nur einen geben kann brauchen die Nebentasks dann den Haupttask nicht zu kennen, alle task units würden nur die
unit des Managers in ihrer Uses-Klausel verwenden. Diese würde dann auch eine Basisklasse (oder ein Interface) für die Tasks deklarieren.