Using MVC is the best way to not allways edit the code when new version is released and upgraded
I'm not saying MVC model is wrong or not usable, it's exactly the opposite, it's nice if we use it the way it has been designed.
The idea of the MVC model is IMHO to separate the design part (the view) from let say the algorithm or process part.
I think we are on the same way,
but if you don't want to edit the code when new version is released and upgraded THEN
the previous view must remain compatible with new one.
If the core
of the view is modified on each release then you will have to edit the code of your overridden one when new version is released and upgraded