OOP library for javascript