public static function create($data)
 {
     $manager = new self();
     $manager->setDefaultDirectories(new Directories('default', $data['directories'], $manager));
     foreach ($data['servers'] as $name => $server) {
         $manager->set(new Server($name, $server, $manager));
     }
     foreach ($data['sources'] as $name => $source) {
         $manager->set(Source::make($name, $source, $manager));
     }
     foreach ($data['environments'] as $name => $environment) {
         $manager->set(new Environment($name, $environment, $manager));
     }
     foreach ($data['tasks'] as $name => $tasks) {
         $manager->set(new Tasks($name, $tasks, $manager));
     }
     return $manager;
 }