TaskRunner refactoring

starting the async task and makring it as running right away seems to
trip up the queue sometimes. i dont realliy get it…

starting the tasks and then marking them as running seems to work around
the problem somehow.