View always should have been an abstract class