Replaced old AbstractController interface by making AbstractView observable