externalize playbook runner