protected function createProxy()
    {
        $config = $this->config;

        $interface = Arr::pull($config, 'interface');

        $client = $this->clientFactory->client(Arr::pull($config, 'client'));

        $invoker = new RemoteInvoker($this->context, $client, $interface, $config);

        $invoker = $this->withMiddleware($invoker, $interface, $config);

        return $this->proxyFactory->proxy($invoker);
    }