WidgetProvier, WidgetLayout, WidgetShape