func init if(linked("doOperation") and linked("Result")) sys.add_var(this.name, 'dynamic') end end func make_logic(data) op = this.props('Operation').value if(op == '!') return(op + d("obj1")) else return('(' + d("obj1") + ' ' + op + ' ' + d("obj2") + ')') end end func doOperation(data) if(linked('Result')) blk.println(this.codename, ' = ', make_logic(data), ';') event('onResult', this.codename) else event('onResult', make_logic(data)) end end func Result if(linked('doOperation')) return(this.codename) else return(make_logic()) end end