Refactored View into a BaseView and IView.