details about widget_factory.js