Allow the command runner to run headless (log output via specified writers). This would enable it to be embedded in other environments and easily accept commands from socket connections etc.