Apparatus for displaying a graphical user interface, GUI, of a software application having a plurality of commands, each command including a group collection that defines one or more individual groups of functions, each group having a group view model that defines a view model for the functions that are displayed in the group using a corresponding individual user interface, UI, control view model, the apparatus comprising at least one computing processor that is communicatively coupled to a display screen, the at least one computing processor being configured to: cause display, on the display screen, of the GUI of the software application according to a first graphical layout that includes a fixed area having a contextual tab in which is contained a first plurality of grouped controls, each such control pertaining to a function of a command in the plurality of commands; and receive a re-layout instruction from a user of the software application to cause display of the GUI of the software application according to a second graphical layout that includes a movable component in which is contained the first plurality of grouped controls, and a fixed area having a non-contextual tab in which is contained a second plurality of grouped controls, each such control pertaining to a command in the plurality of commands, and responsive to receiving the re-layout instruction, cause display, on the display screen, of the GUI of the software application according to the second graphical layout; wherein a layout engine generates the second graphical layout of the GUI of the software application, the layout engine retrieving, from a command framework information from a command, the command framework configured manage default communication between the group collections, group view models, and user interface control view models, processing the group collections and view models (36, 38) to populate the user interface, wherein each individual control view model is processed for minimalistic display, such as removing labels in favor of icons and using smaller, more standardized sizing of controls, display of attributes and properties display is limited, an overflow mechanism is provided to keep the attributes and properties within a bounding box of the movable component, and specific group view models and user interface control view models provide additional information, such as compacted display sizing, usable for further handle compacting the layout. cause display, on the display screen, of the GUI of the software application according to a first graphical layout that includes a fixed area having a contextual tab in which is contained a first plurality of grouped controls, each such control pertaining to a function of a command in the plurality of commands; and receive a re-layout instruction from a user of the software application to cause display of the GUI of the software application according to a second graphical layout that includes a movable component in which is contained the first plurality of grouped controls, and a fixed area having a non-contextual tab in which is contained a second plurality of grouped controls, each such control pertaining to a command in the plurality of commands, and responsive to receiving the re-layout instruction, cause display, on the display screen, of the GUI of the software application according to the second graphical layout; a movable component in which is contained the first plurality of grouped controls, and a fixed area having a non-contextual tab in which is contained a second plurality of grouped controls, each such control pertaining to a command in the plurality of commands, and responsive to receiving the re-layout instruction, cause display, on the display screen, of the GUI of the software application according to the second graphical layout; wherein a layout engine generates the second graphical layout of the GUI of the software application, the layout engine retrieving, from a command framework information from a command, the command framework configured manage default communication between the group collections, group view models, and user interface control view models, processing the group collections and view models (36, 38) to populate the user interface, wherein each individual control view model is processed for minimalistic display, such as removing labels in favor of icons and using smaller, more standardized sizing of controls, display of attributes and properties display is limited, an overflow mechanism is provided to keep the attributes and properties within a bounding box of the movable component, and specific group view models and user interface control view models provide additional information, such as compacted display sizing, usable for further handle compacting the layout. retrieving, from a command framework information from a command, the command framework configured manage default communication between the group collections, group view models, and user interface control view models, processing the group collections and view models (36, 38) to populate the user interface, wherein each individual control view model is processed for minimalistic display, such as removing labels in favor of icons and using smaller, more standardized sizing of controls, display of attributes and properties display is limited, an overflow mechanism is provided to keep the attributes and properties within a bounding box of the movable component, and specific group view models and user interface control view models provide additional information, such as compacted display sizing, usable for further handle compacting the layout.