The Hard Parts of Object Oriented Programming Object Creation Prototype & new Scope & This Default Prototype Chain SubClassing with Factory Function SubClassing with new and call