Runnable -> Callable, LinkedBlockingQueue -> ArrayBlockingQueue, etc.
Get rid of timeout thread