Use messages with handlers instead of Runnables