Refactoring to have a parentclass for all the widgetproviders