Capture errors better, switch to a single timer thread.