Also pass to clientManager the Backend, and to Client the clientManager, and set Qt parents for them.
To make the models update correctly in QML: - ListModel and _QtModel merged - Return a ListModelMap QObject from properties instead of a DefaultDict → QVariantMap