Add an identifier string code to identify every active widget
Modify widgets to support codes
More refactors. Renamed widgetsList to List. Added more support for
codeName instead of fileName as identifiers.