var Widgets = new Object(); var LoadedWidgets = new Object(); Widgets.run = function(){ widgetsNames = getOwnMethods(LoadedWidgets); for (var widgetID in widgetsNames){ eval('LoadedWidgets.'+widgetsNames[widgetID]+'();'); } }; function getOwnMethods(obj){ var props = Object.getOwnPropertyNames(obj); return props.filter(function(prop){ return obj[prop] && obj[prop].constructor && obj[prop].call && obj[prop].apply; }); };