Changed VObject to a function which produces a VObjectClass which is the old VObject with a new 'class' field: an (optionof Address) to point to the store location of the class of the object. All objects that are placed into the store have a some? value for their class field (except for exceptions created at the very top level--ie, a return, break, or continue at the top level). This gives all objects a direct reference to their class which fixes several scope issues.