     }
     
     func counter(_ counter: Counter, didFinishCounting value: Int) {
-        print("\(#function) => \(value)")
-        guard automaticCounter2 == nil else { return }
-        launchTimer2()
+        print("\(#function) => \(value)\n\n")
+        if automaticCounter === counter {
+            launchTimer2()
+        }
+        else if automaticCounter2 === counter {
+            launchTimer3()
+        }
     }
 }
 

        print(ages) // 110
        
        print("\n\n\nAUTOMATIC COUNTER\n\n\n")
        
        automaticCounter = AutomaticCounter(startIn: 0, interval: 1, autoIncrement: 1)
        automaticCounter.delegate = self
        automaticCounter.automaticDelegate = self
        automaticCounter.startCounting(endingAt: 10)
    }
    
    func launchTimer2() {
        print("\n\n")
        automaticCounter2 = AutomaticCounter(startIn: 0, interval: 0.2)
        automaticCounter2.delegate = self
        automaticCounter2.automaticDelegate = self

        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            self.automaticCounter2.endCounting()
        }
    }
    
    func launchTimer3() {
        automaticCounter3 = AutomaticCounter(startIn: 0, interval: 1)
        automaticCounter3.delegate = self
        automaticCounter3.automaticDelegate = self
        automaticCounter3.startCounting(endingAfter: 3)
    }
    
    func counter(_ counter: Counter, hasReachedValue value: Int) {
