A Javascript Inheritance Model