/* --- */ var singletons = { MyObject: {prop: 'FooKey', key: 'What'} ,AnotherObject: {prop: 'BarKey', key: 'Who'} }; // shared bound constructor function singletonInit(type, data) { this[type.prop] = {}; this[type.prop][type.key] = data; } for (var name in singletons) { window[name] = Class.create(); window[name].prototype.initialize = function(data) { var obj = singletons[name]; singletonInit.apply(this, obj, data); } }