module RubyXL::OOXMLObjectClassMethods

def obtain_class_variable(var_name, default = {})

which is what we need.
the setter/getter method addresses it in the context of descendant class,
addressing variable by name creates it in the context of defining class, while calling
rather than by directly addressing the name of the variable because of context issues:
Throughout this class, we are setting class variables through explicit method calls

with the passed-in +default+ (or +{}+, if not specified)
Get the value of a [sub]class variable if it exists, or create the respective variable
def obtain_class_variable(var_name, default = {})
  self.class_variable_get(var_name)
rescue NameError
  self.class_variable_set(var_name, default)
end