         case .Query:
             let previewTitle = NSLocalizedString("QueryFeedViewController_Cell_Action_Preview", comment: "")
             let preview = UITableViewRowAction(style: .Normal, title: previewTitle, handler: {(_, _) in
-                self.articleListController.previewMode = true
+                let articleListController = self.articleListController()
+                articleListController.previewMode = true
                 self.feedRepository.articlesMatchingQuery(self.feedQuery) {articles in
-                    self.articleListController.articles = DataStoreBackedArray(articles)
+                    articleListController.articles = DataStoreBackedArray(articles)
                 }
-                self.navigationController?.pushViewController(self.articleListController, animated: true)
+                self.navigationController?.pushViewController(articleListController, animated: true)
             })
             return [preview]
         case .Tags:

        self.init(
            feedRepository: injector.create(FeedRepository)!,
            themeRepository: injector.create(ThemeRepository)!,
            tagEditorViewController: injector.create(TagEditorViewController)!,
            articleListController: injector.create(ArticleListController)!
        )
    }



    private let feedRepository: FeedRepository
    private let themeRepository: ThemeRepository
    private let tagEditorViewController: Void -> TagEditorViewController
    private let articleListController: Void -> ArticleListController

    public lazy var tableView: UITableView = {
        let tableView = UITableView(forAutoLayout: ())
