Extract Runner out into its own class