func _create(data) return(SrcStr && '.Mid(' && StartPos && ').Find(' && Target && ')') end func doSearch(_data) if(linked(Position)) println(pos, ' = ', _create(_data), ';') event(onSearch, pos) else event(onSearch, _create(_data)) end end func Position(_data) if(linked(doSearch)) return(pos) else return(_create(_data)) end end