/**
  * @param string $projectName
  * @param null|string $gitSource
  * @param null|string $version
  * @throws RuntimeException
  * @throws LogicException
  */
 public function setUp($projectName, $gitSource = null, $version = null)
 {
     echo "\nCreating project {$projectName}\n";
     if (!file_exists($projectName)) {
         if (!mkdir($projectName) && !is_dir($projectName)) {
             throw new RuntimeException("Error creating project {$projectName}\n");
         }
         $this->installBase($projectName, $gitSource, $version);
         VagrantWorker::startVagrant($projectName);
         $this->runComposer($projectName);
     } else {
         throw new LogicException("ERROR: Project ' . {$projectName} . ' already exists!\n");
     }
 }