public void registerListener(final Listener listener) {
    this.listener = listener;
    TimeMachine.sendMessageToTheFuture(updateRateRunnable, TWO_SECONDS);
  }
In addition to register the listener this method is going to trigger a view model update two
seconds in the future. This has been implemented to show how to use view model binding
manually
implemented to update each row without the full list view.
app/src/main/java/com/github/pedrovgs/effectiveandroidui/ui/viewmodel/ChapterViewModel.java