splitting server code in a more literate style
starting work on deferred messages