Factor out simple runners, and add companion object