     */
     private func addSubscriptionChangeToTaskQueue(interestName: String, change: SubscriptionChange) {
         requestQueue.tasks += { _, next in
-            self.modifySubscription(
+            self.subscribeOrUnsubscribeInterest(
                 interest: interestName,
                 change: change,
                 successCallback: next

        let url = "\(CLIENT_API_V1_ENDPOINT)/clients/\(clientId)/interests/"
        let params: [String: Any] = ["app_key": pusherAppKey, "interests": interests]
        let request = self.setRequest(url: url, params: params, change: .setSubscriptions)
        self.modifySubscription(interests: interests, request: request, change: .setSubscriptions, successCallback: successCallback)
    }

    private func modifySubscription(interests: Array<String>, request: URLRequest, change: SubscriptionChange, successCallback: @escaping (Any?) -> Void) {
        self.delegate?.debugLog?(message: "Attempt number: \(self.failedRequestAttempts + 1) of \(maxFailedRequestAttempts)")

        let task = URLSession.dataTask(

     */
    open func setSubscriptions(interests: Array<String>) {
        requestQueue.tasks += { _, next in
            self.replaceSubscriptionSet(
                interests: interests,
                successCallback: next
            )
