Thank you Bas, I did not know that one can use a table class without an assigned schema or query class. This is great.
My strongest point not to use object classes is that when using a JS form or a window you do not need an extra variable to represent the object. You can just call the $load (or whatever method you implement) of your list object (rather using another object variable and then return the result in the list). There is just that one data object that fills itself.
Also inside your list (table class) you could use another list that is also bound to a table class. That said you can build i.e. an invoice object (row variable) that contains the details as a list. So you are able to nest them just as you could do with object classes.