The verb cache This object acts as a delegate for $has_verbs. It keeps track of the verb templates provided by all objects. parent root object verb_cache var root name 'verb_cache var verb_cache templates #[] eval .initialize(); . method object_defined_verb arg template; if (caller() != $has_verbs) throw(~perm, "Caller is not $has_verbs."); templates = dict_add_elem(templates, template, sender()); . method object_undefined_verb arg template; if (caller() != $has_verbs) throw(~perm, "Caller is not $has_verbs."); templates = dict_del_elem(templates, template, sender()); . method templates return dict_keys(templates); .