     // MARK: Public
     
     weak var delegate: SecureBackupSetupIntroViewControllerDelegate?
-    
-    // This is evil
-    // TODO: refactor it
-    weak var keyBackup: MXKeyBackup?
-    
+        
     // MARK: - Setup
     
-    class func instantiate() -> SecureBackupSetupIntroViewController {
+    class func instantiate(with viewModel: SecureBackupSetupIntroViewModelType) -> SecureBackupSetupIntroViewController {
         let viewController = StoryboardScene.SecureBackupSetupIntroViewController.initialScene.instantiate()
+        viewController.viewModel = viewModel
         viewController.theme = ThemeService.shared().theme
         return viewController
     }

    
    // TODO: To remove
    private func checkKeyBackup() {
        guard let keyBackup = self.keyBackup else {
            return
        }
        

    
    // MARK: Private
    
    private var viewModel: SecureBackupSetupIntroViewModelType!
    private var theme: Theme!
    
    private var activityIndicatorPresenter: ActivityIndicatorPresenter!
