 import SafariServices
 
 /// Flow controller responsible for application navigation and view controller hierarchy/setup.
-final class AppFlowController: StoriesViewControllerDelegate, InfoViewControllerDelegate, TagsViewControllerDelegate {
+final class AppFlowController: NSObject, StoriesViewControllerDelegate, InfoViewControllerDelegate, TagsViewControllerDelegate, UITabBarControllerDelegate {
     fileprivate let rootViewController: UITabBarController
     fileprivate let client = APIClient.default
 
-    init() {
+    override init() {
         // Setup view controller hierarchy.
         rootViewController = UITabBarController()
 

        let viewController = SFSafariViewController(url: url)
        viewController.preferredControlTintColor = .lobstersRed
        return viewController
    }

    // MARK: StoriesViewControllerDelegate

        let infoViewController = InfoViewController(info: defaultAppInfo)
        let tagsViewController = TagsViewController()

        super.init()

        infoViewController.delegate = self
        newestStoriesViewController.delegate = self
        hottestStoriesViewController.delegate = self
        tagsViewController.delegate = self

        rootViewController.delegate = self
        rootViewController.viewControllers = [
            UINavigationController(rootViewController: newestStoriesViewController),
            UINavigationController(rootViewController: hottestStoriesViewController),
