Add widget builder, template editor to change the $WIDGET locations, location-visualizer etc.
Do something about file uploads by widgets
cms/modules/smarttable is not the correct place for the files as this is NOT a module. Those should be moved out of modules folder.
Solution of warning : Generate some instance number to append to initSmartTable. A static variable can be maintained inside the class and the value of it will be appended to the initSmartTable function and all the associated variables. That number should be passed to the user because they may need to call the functions or edit the variables manually.