Use timeout field as intended.
Add initial implementation of breaking up handlers.

Note the SFS boilerplate required in each handler. MessageHandler has a
comment about a possible way to avoid it.