Die Anforderung ist für mich etwas unklar formuliert, ich weiss jetzt nicht ob das dynamisch je nach Datenbank-Feldinhalt sein soll,
oder nicht.
Falls es nur um einen dynamischen Aufruf geht, welchen Du je nach Anforderung im Aufruf anpassen möchtest,
dann könntest Du auch sowas wie einen "Builder" einsetzen um die SubTasks jeweils in anonymen Prozeduren zu halten.
Delphi-Quellcode:
...
LMyTask := MyTask_Builder
.Conf_MainTask(
procedure
begin
A();
end )
.Conf_SubTaskBefore(
procedure
begin
B();
end )
.Conf_SubTaskAfter(
procedure
begin
C();
end );
LMyTask.Execute;
...