Object-Oriented JavaScript, 2nd Edition