Timer was calling broadcastsync on the timer thread, and in general,
doing a bunch of other thread-unsafe access. Made this thread-safe
through use of a handler. (A handler is on the thread where it is
created).