UPDATE: The back-end service was powered by an ASP.Net AJAX Web Service proxy.
1) The main page has two global objects, one for the back end connections (Svc) and another for handling the DOM (Main). It also dynamically loads documents into an iframe.
2) These iframes need to access services provided by Svc, and also supply a callback function.
3) The problem - passing a function created in the iframe to the parent frame, it's treated as an object not a function and cannot be invoked.
Can anyone provide a better solution than what I've got currently in the iframe:
var Main = parent.Main,
    Svc = parent.Svc;
Svc.method(data, Main.createCallback(
    function(response) {}
));
and in the parent frame:
Main.createCallback = function(func) {
    return function() {
        func.apply(func, arguments);
    }
}