Extract CodeRunner module from Docker to separate responsibilities.