decouple life time of Thread object and the thread.