Object-oriented Programming in JavaScript