public static function initialize($url, $token = null, $options = [], $normalizers = [])
    {
        //strap guzzle client if it is not set in as resolver property
        if (!isset(static::$clientResolver)) {
            static::setClientResolver(function ($options) {
                $clientOptions = isset($options['client']) ? $options['client'] : [];
                return new Client($clientOptions);
            });
        }

        return new static(array_merge($options, ['base_url' => $url, 'token' => $token]), null, $normalizers);
    }