parent $utilities object $housekeeper var $root child_index 0 var $root owners [$housekeeper, $core] var $root fertile 0 var $has_commands commands [] var $has_commands shortcuts [] var $has_verbs verbs #[] var $location contents [] var $located location $void var $user password "*" var $user connected_at 0 var $user last_command_at 0 var $user connections [] var $user creation_time 758252662 var $user action "" var $root inited 1 var $root owned [$housekeeper] var $root manager $housekeeper var $root writable [$housekeeper] var $root readable ['parameters, 'methods, 'code] var $root dbref 'housekeeper method did_disconnect var task_queue, task; if (caller() != $user) throw(~perm, "Permission denied"); // because of guests if (valid(sender())) $scheduler.add_task(300, 'move_user_home, sender()); . method _move_user_home arg who; var home, curloc; .perms(caller(), 'this); if (who.connected()) return; curloc = who.location(); home = who.home(); if (curloc == home) return; curloc.sending_user_home(who); who.move_to(home); . method move_user_home arg who; var home, curloc; .perms(sender(), 'system); if (who.connected()) return; curloc = who.location(); home = who.home(); if (curloc == home) return; who.move_to(home); curloc.did_housekeep(who); .