Hallo,

hab mir mal erlaubt, ein paar gedanken in Sachen "Task loswerden" gemacht:
es bräuchte sowas wie eine removeTask function,
die anfangs so handelt wie die switchTask,
dann aber den alten Task entsorgt, entweder alle nachfolgenden Tasks in der Liste nach unten schieben, oder den letzten Task in der Liste an diesen Platz, dann stimmt halt die Reihenfolge nicht mehr (falls das wichtig sein sollte)

Aufrufen entweder definiert am ende des Tasks,
oder falls man es hinbekommt, am stack den zeiger hinterlegen (in addTask), dann per return ... irgendwie ...