module.exports = function(mixins){ var proto = {}; for (var i = 0, l = arguments.length; i < l; i++){ var mixin = arguments[i]; if (typeof mixin == 'function') mixin = mixin.prototype; for (var key in mixin) proto[key] = mixin[key]; } if (!proto.initialize) proto.initialize = function(){}; proto.constructor = function(a,b,c,d,e,f,g,h){ return new proto.initialize(a,b,c,d,e,f,g,h); }; proto.constructor.prototype = proto.initialize.prototype = proto; return proto.constructor; };