*fixed: moved the task execution logic onto a Workerthread loop