Moving runner to runner/base
Extracting ConsoleRunner so it can respond to terminal signals and quit cleanly.