public function __construct($listing, User $owner, IListingDescriptionControlFactory $listingDescriptionFactory, ListingFormFactory $listingFormFactory, ListingsFacade $listingFacade)
 {
     parent::__construct();
     if (!($listing instanceof Listing or $listing == null)) {
         throw new InvalidArgumentException();
     }
     $this->listing = $listing;
     $this->listingDescriptionFactory = $listingDescriptionFactory;
     $this->listingFormFactory = $listingFormFactory;
     $this->listingFacade = $listingFacade;
     $this->owner = $owner;
 }