demand is like node.js require but is designed for a more class type structure