         }
         didSet {
             updateVisibleViewController()
-            tabBar.selectedItem = selectedViewController.tabBarItem
         }
     }
 

    var currentUser : User?
    var profileResponseConfig: ResponseConfig?

    private var userLoggedOutObserver: NotificationObserver?
    private var systemLoggedOutObserver: NotificationObserver?
    private var receivedPushNotificationObserver: NotificationObserver?

    required public init(coder aDecoder: NSCoder) {
        _tabBarHidden = false
        tabBar = ElloTabBar()

        super.init(coder: aDecoder)

        receivedPushNotificationObserver = NotificationObserver(notification: PushNotificationNotifications.interactedWithPushNotification) { _ in
            self.selectedTab = .Notifications
        }
    }

    deinit {
        receivedPushNotificationObserver?.removeObserver()
    }

}

public extension ElloTabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(tabBar)
        tabBar.delegate = self
        modalTransitionStyle = .CrossDissolve

        updateTabBarItems()
        updateVisibleViewController()
    }

    override func viewDidLayoutSubviews() {
