Refactoring: Extract out a WidgetRepository / WidgetInfo interface.