     private var secureApiKey: String?
     private var headers: HTTPHeaders?
     private var isDebugLoggingEnabled: Bool
-    private var isRetryEnabled: Bool
-    private var maxRetryAttempts: Int
+    private var sessionManager: SessionManager
     
     /**
      Inits delivery client instance.

                if self.isDebugLoggingEnabled {
                    print("[Kentico Cloud] Getting content types action has failed. Check requested URL: \(url)")
                }
                if self.isRetryEnabled && attemptedNumber <= self.maxRetryAttempts {
                    self.waitForRetry(withAttemptedNumber: attemptedNumber)
                    self.sendGetContentTypeRequest(url: url, attemptedNumber: attemptedNumber + 1, completionHandler: completionHandler)
                } else {
                    completionHandler(false, nil, error)
                }
            }
        }
    }
    
    private func sendGetTaxonomiesRequest(url: String, attemptedNumber: Int = 1, completionHandler: @escaping (Bool, [TaxonomyGroup]?, Error?) -> ()) {
        Alamofire.request(url, headers: self.headers).responseArray(keyPath: "taxonomies") { (response: DataResponse<[TaxonomyGroup]>) in
            
            switch response.result {
            case .success:

                    print("[Kentico Cloud] Getting taxonomies action has failed. Check requested URL: \(url)")
                }

                completionHandler(false, nil, error)
            }
        }
    }
    
    private func sendGetTaxonomyRequest(url: String, attemptedNumber: Int = 1, completionHandler: @escaping (Bool, TaxonomyGroup?, Error?) -> ()) {
        sessionManager.request(url, headers: self.headers).responseObject { (response: DataResponse<TaxonomyGroup>) in
            
            switch response.result {
            case .success:
