ThreadManager receives Runnables and sends them to a
ServiceProvider.Server. The server schedules the task in the
JobExecuter. The JobExecuter creates a Runner for each task. After a
thread has finished, it is send back to the FinishedJobReceiver.