Changed TaskRunnerImplementation. Now using semaphores