protected function executeAddDomain(InputInterface $input, OutputInterface $output) {

        // Ask for a domain
        $domain_question = new Question('What domain would you like to add as a VIRTUAL_HOST for the server? (Do NOT include http://) ');
        $name = $this->getAnswer($input, $output, $domain_question, 'domain', 'argument', TRUE);

        // Add the domain to the domain property.
        $output->writeln("Adding domain: <info>{$name}</info>");

        $this->environment->domains[] = $name;

        $helper = $this->getHelper('question');
        $question = new ConfirmationQuestion("Add the domain <comment>$name</comment> to the environment <info>{$this->app->name}:{$this->environment->name}</info> [y/N]? ", FALSE);

        if (!$helper->ask($input, $output, $question)) {
            $output->writeln("<fg=red>Domain not added.</>");
            $output->writeln('');
            exit;
        }

        // Save the new version to the config.
        $this->getApplication()->getTerra()->getConfig()->add('apps', array($this->app->name, 'environments', $this->environment->name), (array) $this->environment);
        $this->getApplication()->getTerra()->getConfig()->save();
        $output->writeln("<info>Domain added!</info> Changes won't take effect until the environment is restarted.");
        $output->writeln('');
    }