public static void invokeCallback (final LuaClosure callback, final Object value) {
        instance.eventRunner.perform(new Runnable() {
            public void run () {
                try {
                    Engine.log("BTTN: " + (value == null ? "(cancel)" : value.toString()) + " pressed", LOG_CALL);
                    Engine.state.call(callback, value, null, null);
                    Engine.log("BTTN END", LOG_CALL);
                } catch (Throwable t) {
                    stacktrace(t);
                    Engine.log("BTTN FAIL", LOG_CALL);
                }
            }
        });
    }
invokes a Lua callback in the event thread
main/src/main/java/cgeo/geocaching/wherigo/openwig/Engine.java