 This works for both textual and graphical output.At runtime the applicable operations to these objects are computed based on the class hierarchy and the available operations ("commands").Commands are organized in hierarchical "command tables" with typed parameters.