Object Oriented JS UI framework