Real OOP for Javascript