gui api design 22.02.2007 -- thu Tony Sidaway made a uniform gui, level-based proposal. Here are some thought about it. When issuing a widget, it must be possible to make it live in its own top-level window or in a sub-window of the current window. When issuing a widget, it must be possible to have a blocking behaviour or not. The non-blocking behaviour needs some kind of callbacks to be passed. Does the underlying gui code has to be initialized for each widget-issuing command or do we provide a 'gui-init' function ? Is it state-based or do we pass arguments around ?