So I'm working on a GTK3 module (finally). This will be a little different and use gobject introspection to call methods by name, dynamically, so I won't have to write code to interface with every single function. The module will use gobject introspection to look up the method by the object and the name, and if it exists, call it with the arguments. Anyway, I was thinking of using GTK2 module.pmod as an interface to the [] method, although that might not be the proper way to do this. So, basically I'll be creating a sort of blank program with only a couple methods, with a lot of behind the scenes infrastructure type code, and want to write so that when you call GTK3.Window("title"), it will call GTK3.method_missing (say), which will call my infrastructure code that will look up the class and method, create the program (if it doesn't exist already), add the method (if it doesn't exist already, if this is possible), and then call it with the arguments. Of course, if all that exists already, it would call it directly. Which brings up a question: is it possible to add a method to a class that has already started and ended (using start_new_program() and end_program()). And how could I write the frontend pike code to intercept GTK3.Window and have it call GTK3.method_missing. I was looking at the GTK2 module's module.pmod as a base, but not sure if that is the right way to do it... Thanks...