The original announcement of the GNOME Desktop Project in 1997 stated the following intention, “to use GTK/Scheme bindings for coding small utilities and applications”. Since then, the GNOME ...
You want Bar to be passed a function to call, but not use it on construction, only on the callbacks from the GUI widget. That function must end up being an actual method somewhere (it's Java, ...