Add BaseView to implement common behavior