         newsScene.showLoginDescription(welcomePromptStringFactory.makeDescriptionForAnonymousUser())
     }
 
+    // MARK: NewsSceneDelegate
+
     func newsSceneDidTapLoginAction(_ scene: NewsScene) {
         performLoginCommand.run()
     }

        authService.add(observer: self)
    }

    func userDidLogin(_ user: User) {
        newsScene.showMessagesNavigationAction()
        newsScene.hideLoginNavigationAction()


struct NewsPresenter: AuthStateObserver, NewsSceneDelegate {

    // MARK: Properties

    private let newsScene: NewsScene
    private let welcomePromptStringFactory: WelcomePromptStringFactory
    private let privateMessagesService: PrivateMessagesService
    private let performLoginCommand: Command
    private let showMessagesCommand: Command

    // MARK: Initialization

    init(newsScene: NewsScene,
         authService: AuthService,
