and now you are defining you whole class inside that return {}. Do you honestly find this more readable?
I think it's perfectly readable, and it requires no more language hacks that obfuscate the JavaScript underlying `class` syntax sugar.
My IDE can easily infer the properties of such objects, as well as display the JSDoc for such properties.