I think instead of doing start/stop manually we should maybe hack the ThreadPool and just allow to call start and stop is called once the thread returns to the threadpool? This way we don't need to take care of this? Just and idea...