     
     public func addViewController<T>(_ viewController: T) where T: UIViewController, T: TabNavigationReadable {
         _addViewControllerWithoutUpdatingNavigationTitle(viewController)
-        tabNavigationBar.addNavigationTitleItem(TabNavigationTitleItem(title: viewController.title ?? ""))
+        tabNavigationBar.addNavigationTitleItem(viewController._tabNavigationTitleItem)
     }
     @discardableResult
     public func removeViewController<T>(_ viewController: T) -> (Bool, UIViewController?) where T: UIViewController, T:TabNavigationReadable {

// MARK: - UIScrollViewDelegate.

extension TabNavigationController: UIScrollViewDelegate {
    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
        if scrollView.isDecelerating {
            _endsRootViewControllersAppearanceTransitionIfNeccessary()
        }
    }
    
    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        guard _viewControllersStack.isEmpty else {
            return
        }

        }
    }
    
    public func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
        _endsRootViewControllersAppearanceTransitionIfNeccessary()
    }
    
