https://www.raywenderlich.com/74106/mvvm-tutorial-with-reactivecocoa-part-1 https://www.raywenderlich.com/74131/mvvm-tutorial-with-reactivecocoa-part-2