         
     }
     
+    fileprivate func updateRemainingTime() {
+        
+        guard let remainingSeconds = sessionControl?.timeRemaingInSeconds() else { return }
+        
+        labelTimer.text = SecondsToHumanReadableDuration(seconds: remainingSeconds).humanReadableTime()
+    }
+    
+    fileprivate func persistAppState(developer: Developer?, sessionState: SessionState, sessionEndsOn: Date) {
+        
+        guard let sessionControl = sessionControl else { return }
+        
+        AppSettings().LastState =
+            AppState(
+                currentDeveloper: developer ?? sessionControl.developer,
+                sessionState: sessionState,
+                sessionEndsOn: sessionEndsOn
+        )
+    }
+    
+    
     private func initializeProgrammingSession() {
         
         let appSettings = AppSettings()

        NSLog("NotificationCenter triggered configurationChanged() -- reinitializing programmingSession.")
        
        initializeProgrammingSession()
    }
}


        rightImageLeadingConstraint.constant = offset
        rightImageTrailingConstraint.constant = offset
    }

    private func initializeNotifications() {
        
        UNUserNotificationCenter.current().delegate = self
