Which is why a GUI backend within pygame was never realised. There is no
ultimate design approach and having just a bunch of abstract base
classes for users to implement is not worth the work :-).
I completely agree. Arguably, making a GUI from scratch can be time consuming, but GUI's tend to differ a lot. For example, some games, such as asteroids and other arcade games, need simple centered menus. My new image filtering program has a GUI that emphasizes linking windows and other stuff. It would be hard--in my view impossible--to generalize all the possible needs down to a few classes and have it still be easier to use than an improvised solution.
Ian