This is a prototype for an object that starts up when someone is in the room, and shuts down when no one is listening. The idea is to avoid endless tasks when the only job is to be 'cute' for people in the room. (Originally prompted by the dogs, the generic announcer is similar, however.) The object keeps track of its 'active' task. When it hears something, and there is no active task, it will eventually fork a task doing the object's :act verb. When the :act verb returns, the object becomes inactive again. The simplest way to use this is just to write a :act verb that does what it needs to, and returns either when the object:has_listeners() returns false. - Ported to GR with permission of Xyster/Miles@Lambda MOO. .