Use proper tmp dirs and be able to handle languages that require a compilation step.