Javascript OOP Library