#19 WidgetFactoryBase