Introduce base view
Every view has a base that all views share: a message sender, an update and an event callback.
Every view has a base that all views share: a message sender, an update and an event callback.
Every view has a base that all views share: a message sender, an update and an event callback.
Every view has a base that all views share: a message sender, an update and an event callback.