     var visibleViewController: UIViewController?
     private var userLoggedOutObserver: NotificationObserver?
     private var systemLoggedOutObserver: NotificationObserver?
+    private var receivedPushNotificationObserver: NotificationObserver?
+
+    private var pushPayload: PushPayload?
+
+    public required init(coder aDecoder: NSCoder) {
+        super.init(coder: aDecoder)
+        setupNotificationObservers()
+    }
 
     override public func viewDidLoad() {
         super.viewDidLoad()
         setupStyles()
-        setupNotificationObservers()
     }
 
     deinit {


        var vc = ElloTabBarController.instantiateFromStoryboard()
        vc.setProfileData(user, responseConfig: responseConfig)
        swapViewController(vc) {
            if let alert = PushNotificationController.sharedController.requestPushAccessIfNeeded() {
                vc.presentViewController(alert, animated: true, completion: .None)


// MARK: Logout events
extension AppViewController {
    func userLoggedOut() {
        let authToken = AuthToken()
        authToken.reset()
        removeViewController()
    }

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