Understanding and Using Prototypal Inheritance in JavaScript