I was able to solve my problem for point 2, but I don't understand why you use two different classes depending on the type of view.