Works with constructor functions, just need to get the copyProperties method working and add the ability to use jSON objects.