public function buildSoapClient($service)
    {
        $director = new Soap\SoapClientDirector($this->username, $this->mode, $this->endpoint);

        switch ($service) {
            case 'DomainService':
                return $director->build(new Soap\Builder\DomainSoapClientBuilder);
            case 'ColocationService':
                return $director->build(new Soap\Builder\ColocationSoapClientBuilder);
            case 'ForwardService':
                return $director->build(new Soap\Builder\ForwardSoapClientBuilder);
            case 'VpsService':
                return $director->build(new Soap\Builder\VpsSoapClientBuilder);
            case 'WebhostingService':
                return $director->build(new Soap\Builder\WebHostingSoapClientBuilder);
            case 'HaipService':
                return $director->build(new Soap\Builder\HaipSoapClientBuilder);
            default:
                throw new \InvalidArgumentException(sprintf('Undefined soap client service builder called: [%s]', $service));
        }
    }