The visible graphical interface features of an application are sometimes referred to as "chrome" or "GUI" (pronounced "gooey"). Typically, users interact with information by manipulating visual widgets that allow for interactions appropriate to the kind of data they hold. The widgets of a well-designed interface are selected to support the actions necessary to achieve the goals of users. 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.