JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//greenish.github.io/js-objct/dist/objct.js"></script>

JavaScript

////////////////////////////////////////////////////////////////////////
// Modules
var a = function (prefix){	
	this.a = prefix+"A";
}
var b = function (prefix){	
	this.b = prefix+"B";
}
var c = function (prefix, suffix){	
	this.c = prefix+"C"+suffix;
}

////////////////////////////////////////////////////////////////////////
// factory
var factory = objct(a,b,c);

////////////////////////////////////////////////////////////////////////
// instance
var instance = factory("x-", "-y");

console.log('instance.a === "x-A"',instance.a === "x-A");
console.log('instance.b === "x-B"',instance.b === "x-B");
console.log('instance.c === "x-C-y"',instance.c === "x-C-y");