public static function createInstallationClient($url, CertificateStorage $certificateStorage)
    {
        $handlerStack = HandlerStack::create();
        $handlerStack->push(
            Middleware::mapRequest(new RequestIdMiddleware())
        );
        $handlerStack->push(
            Middleware::mapRequest(new RequestSignatureMiddleware($certificateStorage->load(CertificateType::PRIVATE_KEY())))
        );

        return self::createBaseClient((string)$url, $handlerStack);
    }