 
   override func viewDidLoad() {
     super.viewDidLoad()
-    reactor = CounterViewReactor() // this makes `bind(reactor:)` gets called
+    self.reactor = CounterViewReactor() // this makes `bind(reactor:)` gets called
   }
 
   // Called when the new value is assigned to `self.reactor`

import RxCocoa
import RxSwift

final class CounterViewController: UIViewController, View {
  @IBOutlet var decreaseButton: UIButton!
  @IBOutlet var increaseButton: UIButton!

  func mutate(action: Action) -> Observable<Mutation> {
    switch action {
    case .increase:
      return Observable.just(Mutation.increaseValue) // Action.increase -> Mutation.increaseValue
    case .decrease:
      return Observable.just(Mutation.decreaseValue) // Action.decrease -> Mutation.decreaseValue
    }
  }

