Recently, I have worked as a front-end developer. I learnt that it is very easy to mess up the code and to reach a level of complexity where you are not able to understand how a user interface works. If it were easy to program, we would not need programmers. However, a good architecture, namely a good organization of software components, could reduce a lot of accidental complexity. The consequence
