Object Oriented Javascript: The Definition Guide