That's actually preferred, so that you can wrap a ViewModel around that object, edit it and commit it to have the changes reflected in the table. If you edit the viewmodel that is bound to your tableview directly, changes would be visible before they were committed. That's almost never what you want.