I have a desktop instrumentation application in MVC. Currently I had 2 versions of the application, thus 2 views and 2 controllers, each having common code in a base class. The views react directly to events sent by the model, and the controller has a message queue for linking user actions to the model. Notably the message queue is common to the two controllers.
In these two versions the UI logic is very simple, it's mainly reacting to buttons, passing parameters to the controller, and . In the next version I have some workflow tasks, so the UI will get more complex.
I also want the initial versions to be still functional.
Where do I put this complexity? Should I add another message loop that is in-between? Will it belong to the controller or the view? Where should I put the state of my workflow? Or should I build an intelligent view?