 extension STLocationRequestController: CLLocationManagerDelegate {
     
     public func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
-        // Check the authorization state from CLLocationManager
+        // Declare Event
+        let event: Event?
+        // Switch on authorization state from CLLocationManager
         switch status {
         case .authorizedWhenInUse:
-            self.controllerUpdate(event: .locationRequestAuthorized)
-            self.dismiss()
+            event = .locationRequestAuthorized
             break
         case .authorizedAlways:
-            self.controllerUpdate(event: .locationRequestAuthorized)
-            self.dismiss()
+            event = .locationRequestAuthorized
             break
         case .denied:
-            self.controllerUpdate(event: .locationRequestDenied)
-            self.dismiss()
+            event = .locationRequestDenied
             break
         case .restricted:
-            self.controllerUpdate(event: .locationRequestDenied)
-            self.dismiss()
+            event = .locationRequestDenied
             break;
         case .notDetermined:
+            event = nil
             break;
         }
+        // Check if Event is available
+        guard let emitEvent = event else {
+            // Return out of function no event to emit
+            return
+        }
+        // Emit Event
+        self.emit(event: emitEvent)
+        // Dismiss
+        self.dismiss()
     }
     
 }

        // Dismiss the STLocationRequestController
        self.dismiss(animated: true) {
            // Inform the delegate, that the STLocationRequestController is disappeared
            self.controllerUpdate(event: .didDisappear)
        }
    }
    

        self.placeChangeTimer = nil
    }
    
    /// Emit an STLocationRequestController.Event
    ///
    /// - Parameter event: The Event
    func emit(event: Event) {
        // Check if an onChange closure is available
        if let onChange = self.onChange {
            // Call onChange with current event
