/**
  * @param State $state
  * @return IdCardInterface
  */
 public function instantiateIdCard(State $state = null)
 {
     $event = new InstantiateIdCardEvent($state);
     $this->dispatcher->dispatch(ValidationEvents::VALIDATION_ID_CARD_INSTANTIATE, $event);
     $idCard = $event->getIdCard();
     if (!$idCard instanceof IdCardInterface) {
         $idCard = new IdCard();
         if ($state instanceof State) {
             $idCard->setState($state);
         }
     }
     return $idCard;
 }