JavaScript object-oriented lib