Editor class parent frob_class object editor_class eval .initialize(); .set_name("Editor frob class"); . method new arg text; if (type(text) != 'list) throw(~type, "Text is not a list."); return <this(), text>; . method handle_editor_command arg text, str; if (str == "done") return ['done, text]; else if (str == "abort") return ['abort]; else return ['not_done, <this(), text>]; .