wrap creating threads.
should not be able to start a worker multiple times
add stopping state.