objectdef ObjA { method Ping() { echo "Ping" } method Plugin() { Event[POO]:AttachAtom[${This.ObjectName}:Ping] } method Shutdown() { Event[POO]:DetachAtom[${This.ObjectName}:Ping] } } atom Plugin(string Var, string Obj) { declarevariable ${Var} ${Obj} script ${Var}:Plugin echo declarevariable ${Var} ${Obj} script echo ${Var}:Plugin } function main() { LavishScript:RegisterEvent[POO] Plugin a ObjA do { Event[POO]:Execute } while 1 } function AtExit() { Event[POO]:Unregister }