public function setAddress($address)
    {
        if (!is_string($address)) {
            throw new \InvalidArgumentException();
        }

        if ($this->address !== null) {
            throw new \RuntimeException();
        }

        $this->address = $address;
        return $this;
    }