 A model–view–controller allows flexible structures in which the interface is independent of and indirectly linked to application functions, so the GUI can be customized easily.This allows users to select or design a different "skin" at will, and eases the designer's work to change the interface as user needs evolve.Good user interface design relates to users more, and to system architecture less.