Extract Runner to interface