private static function getGuzzleClient($baseUrl, $options = [])
    {
        $guzzleOptions = [];
        if (isset($options[self::PROXY])) {
            $guzzleOptions[self::PROXY] = $options[self::PROXY];
        }
        if (isset($options[self::GUZZLE_OPTIONS])) {
            $guzzleOptions = array_merge($guzzleOptions, $options[self::GUZZLE_OPTIONS]);
        }

        $handlerStack = HandlerStack::create();
        $handlerStack->unshift(Middleware::retry(self::retryDecider(), self::retryDelay()));
        $options = array_merge(['base_uri' => $baseUrl, 'handler' => $handlerStack], $guzzleOptions);

        return new GuzzleClient($options);
    }