public function setTransporter(TransportInterface $transporter)
    {
        if ($transporter->validate()) {
            $this->transporter = $transporter;
        } else {
            throw new \Exception(
                sprintf('Transporter "%s" is not valid for current environment!', get_class($transporter))
            );
        }
        return $this;
    }