Begin separating concerns again.

The objective is to keep handlers from being able to touch certain things,
and perhaps make a command-line interface for gorunner.