/**
  * @param  PaymentCard               $card
  * @throws \InvalidArgumentException If $card is not valid
  */
 public function __construct(PaymentCard $card)
 {
     if ($card->isValid() === false) {
         throw new \InvalidArgumentException("PaymentCard::isValid() returned false");
     }
     $this->setModel($card);
 }