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

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

        $invoker = new ConcreteInvoker($this->context, $interface, $concrete, $config);

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