let wiRes = {}
let wiCounter = 0

class wi {
    static get res(){ return wiRes }
    static set res(v){ wiRes = v}
    static get c(){ return wiCounter }
    static set c(v){ wiCounter = v }

    static register(fun) {
        const index = this.c++;
        this.res[index] = fun;
        return `wi.call(${index});`    
    }
    static call(id) {
        this.res[id]();
    }
    static reset(){
        this.res = {}
        this.c = 0
    }
    static publishFunction(name, fun){
        window[name] = fun
        return `${name}`
    }
}