     // MARK: - Properties
     @IBOutlet weak var functionalitesTableView: UITableView!
     
+    // MARK: - MainViewModelConsumable protocol
+    fileprivate(set) var viewModel: MainViewModelable?
+    func updateViewModel(_ viewModel: MainViewModelable?) {
+        self.viewModel = viewModel
+    }
+    
+    // MARK: - Initialization
+    required init?(coder aDecoder: NSCoder) {
+        super.init(coder: aDecoder)
+    }
+    
+    deinit {
+        Logger.debug.message("\(String(describing: MainViewController.self)) deinitialized")
+    }
+    
     // MARK: - Life cycle
     override func viewDidLoad() {
         super.viewDidLoad()

import UIKit
import SimpleLogger

class MainViewController: BaseViewController {
    
    fileprivate let cellTitles: [String] = [
        "Transitioning Left",

        self.configure_appearance()
        self.configure(self.functionalitesTableView)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }    
}

// MARK: - UI configurations
