use a message queue so our timers don't get lost