When an object moves from a destination all the commands it has defined in nearby objects using add_action through init, will be automatically removed. If this_object is a living object then all commands from nearby objects will be removed automatically.
Upon entering the destination object each living object which becomes nearby will be set to this_player respectively and init will be run in the entering object. Thus letting it add its commands with add_action to each nearby living object.
If the entering object is itself living, then this_player will be set to the entering object and init will be called in each object already in the destination. Init will also be called in the destination object which is normally a room.