             object: sessionManager,
             queue: .main,
             using: { [weak self] noti in self?.recordingStateDidChange(noti: noti) })
-    }
-}
+
+        _didReachEndOfQueueObserver = notificationCenter.addObserver(
+            forType: DidReachEndOfPlaybackQueue.self,
+            object: sessionManager,
+            queue: .main,
+            using: { [weak self] noti in self?.didReachEndOfPlaybackQueue(noti: noti) })
+    }
+}

        presentError(noti.error)
    }

    /// Registers the window controller for notifications posted by
    /// SpotijackSessionManager
    private func registerForSpotijackNotifications() {

    private var _didEncounterErrorObserver: NotificationObserver? = nil
    private var _recordingStateDidChangeObserver: NotificationObserver? = nil
    private var _trackDidChangeObserver: NotificationObserver? = nil
    private var _didReachEndOfQueueObserver: NotificationObserver? = nil

    //MARK: Window Lifecycle
    override func windowDidLoad() {
