@5d36f9b1 Generally true, in the ctx of MV*C* is not that ambiguous 🙂 The term "MVC" is quite overloaded though, despite proper work backing the term. This is a nice article in that context: https://blog.metaobject.com/2015/04/model-widget-controller-mwc-aka-apple.html
For models my general rule of thumb is: Imagine you build an app and you need to provide both, an HTML interface and an AppKit UI. The things you can share between the two is business logic and goes into the model layer.
The immutable thing you describe sounds more like a DTO.