/**
  * Helper to get new participant instance
  *
  * @param  array        $part_data
  * @return Participant
  */
 protected function getParticipant($part_data)
 {
     // Create driver
     $driver = new Driver();
     $driver->setName($part_data['name'])->setHuman(false);
     // Has steam id
     if (isset($part_data['steamid'])) {
         $driver->setDriverId($part_data['steamid']);
         $driver->setHuman(true);
     }
     // Create participant and add driver
     $participant = Participant::createInstance();
     $participant->setDrivers(array($driver))->setFinishStatus(Participant::FINISH_NORMAL);
     // Create vehicle and add to participant
     $vehicle = new Vehicle();
     // TODO: Parse livery too?
     // $vehicle->setType( (string) $part_data['setup']['LiveryId']);
     // Has vehicle in root
     $vehicle_id = null;
     if (isset($part_data['VehicleId'])) {
         $vehicle_id = $part_data['VehicleId'];
     } elseif (isset($part_data['setup']) and isset($part_data['setup']['VehicleId'])) {
         $vehicle_id = $part_data['setup']['VehicleId'];
     }
     // Have friendly vehicle name
     if (isset($this->attribute_names['vehicles'][$vehicle_id])) {
         $vehicle->setName($this->attribute_names['vehicles'][$part_data['setup']['VehicleId']]['name']);
         $vehicle->setClass($this->attribute_names['vehicles'][$part_data['setup']['VehicleId']]['class']);
     } else {
         $vehicle->setName((string) $vehicle_id);
     }
     $participant->setVehicle($vehicle);
     return $participant;
 }