Diving into the world of MVX patterns
To understand what technique or pattern to select, we need to understand why they exist and what problems they solve. Once you start researching the topic of state management patterns and software design patterns in general, you’re bound to bump into abbreviations such as MVC, MVVM, MVI, MVP, MVU, and others. Despite the variety of the letters in those abbreviations, there are a couple that always persist: M and V. Those letters always stand for two important yet opposite notions: Model and View. The letters connecting them are intermediaries between those two: C stands for Controller in the MVC, VM stands for ViewModel, I stands for Intent in MVI, and so on. It all started with MVC back in the late 1970s (https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller), but over the years, the MVC pattern has been transformed by many interpretations and today it is hard to reason about how exactly this pattern is supposed to work as...