Timer and message callbacks are now running on different threads