A naive OO JS approach