             self.presentViewController(alertController, animated: true, completion: nil)
         }
     }
-
+}
+
+// MARK: Push Notification Handling
+extension AppViewController {
+    func receivedPushNotification(payload: PushPayload) {
+        if let vc = self.visibleViewController as? ElloTabBarController {
+            vc.selectedTab = .Notifications
+        } else {
+            self.pushPayload = payload
+        }
+    }
 }
 
 


// MARK: Logout events
extension AppViewController {

    @objc
    func userLoggedOut() {
        let authToken = AuthToken()
        authToken.reset()
        removeViewController()
    }

    @objc
    func systemLoggedOut() {
        let authToken = AuthToken()
        authToken.reset()

    private func setupNotificationObservers() {
        userLoggedOutObserver = NotificationObserver(notification: AuthenticationNotifications.userLoggedOut, block: userLoggedOut)
        systemLoggedOutObserver = NotificationObserver(notification: AuthenticationNotifications.systemLoggedOut, block: systemLoggedOut)
        receivedPushNotificationObserver = NotificationObserver(notification: PushNotificationNotifications.interactedWithPushNotification, block: receivedPushNotification)
    }

    private func removeNotificationObservers() {
        userLoggedOutObserver?.removeObserver()
        systemLoggedOutObserver?.removeObserver()
        receivedPushNotificationObserver?.removeObserver()
    }

}
