Refactor ButtonWidget.
Merge class WidgetShape with WidgetView.
Add classes WidgetOwner and WidgetGroup.
Add class View.