Made the JS way more ugly, but OO.