     }
     
     func sessionStarted() {
-        
+        updateCurrentState(.active)
     }
     
     func sessionEnded() {
-        
+        labelTimer.layer.removeAllAnimations()
+        updateCurrentState(.idle)
     }
     
     func countdownExpired() {
         
+        DispatchQueue.main.async {
+            AudioServicesPlaySystemSound(1006)
+            
+            UIView.animate(
+                withDuration: 1.2,
+                delay: 0.0,
+                options: [.curveEaseInOut, .autoreverse, .repeat],
+                animations: { [weak self] in self?.labelTimer.alpha = 0.0 },
+                completion: { [weak self] _ in self?.labelTimer.alpha = 1.0 })
+        }
     }
 }

            return DateInterval(start: timerElapsesOnDate, end: currentDate).duration * -1.0
        } else {
            return DateInterval(start: currentDate, end: timerElapsesOnDate).duration
        }
    }
}


    
    fileprivate func timerElapsedCheck() {
        
        /*if timerElapsed { return }
        
        guard let timerElapsesOnDate = timerElapsesOnDate else { return }
        
        if(Date() < timerElapsesOnDate) { return }
        
        
        }
        
        timerElapsed = true*/
    }
    
    fileprivate func updateTimer() {
