Refactor: use a single View class which supports all view modes. Less code and no more flickering when switching