I can see that that aspect of it can get tricky.
Is there any opinions of having classes implement such interrelationships and complexity, and bind the UI to the top of that? Like a multilayer MVVM? I know there's problems with MVVM in its own right, and what I'm suggesting could possibly make that worse. But perhaps not so bad if one is tempted by MVVM in the first place?