I'm sorry, Tom, but I don't see a really new direction in your comments. It appears that you have simply repackaged/renamed the current solutions to writing a GUI program. Perhaps I am just slow-witted or perhaps my opinion is premature and I should wait on more details. Let me specify the sources of my confusion: 1) GUI design is more of an art form than a technology. I don't believe that good design of a user interface can be automated. 2) How is replacing a GUI specification with a template an improvement? The same design decisions that go into a GUI specification will have to go into template design. 3) It seems that you are unhappy with the concept of a mainloop and callbacks. Yet, the whole purpose of a GUI is not to just display data but to monitor the user's actions and carry out his intent. The user's keyboard/mouse actions are an event that triggers a cascade of internal events. How would you handle this? What am I missing?