move runner to public interface
Pass in Agent.runner per the updated API