agreed, and the root problem is the object oriented model
a GUI is a process, you paint this and you mask that and you hide the other thing
the immediate mode model for GUI is the future IMO, we are just waiting for objects to die
you can already see this model rising with all the game engines, in fact i won't be surprised if someone cooks a game engine into a display manager back end
this is almost exactly what Apple did with Cocoa