def method_missing( method, *args, &block )
m = method.to_s.delete('=').to_sym
__eigenclass_eval "def #{m}=( value ) @__values[#{m.inspect}] = value; end", __FILE__, __LINE__
__eigenclass_eval "def \#{m}( *args, &block )\nvalue = @__values[\#{m.inspect}]\n\nif args.empty? and !block\nreturn value if value.kind_of?(Configuration)\nvalue = @__defaults[\#{m.inspect}] if value.kind_of?(Loquacious::Undefined) and @__defaults.has_key? \#{m.inspect}\nreturn value.respond_to?(:call) ? value.call : value\nend\n\nif block\nv = DSL.evaluate(:defaults_mode => __defaults_mode, &block)\nif value.kind_of?(Configuration)\nvalue.merge! v\nelse\n@__values[\#{m.inspect}] = v\nend\nelse\nv = (1 == args.length ? args.first : args)\nif __defaults_mode\n@__defaults[\#{m.inspect}] = v\nelse\n@__values[\#{m.inspect}] = v\nend\nend\nend\n", __FILE__, __LINE__+1
__desc[m] = nil unless __desc.has_key? m
default = ((__defaults_mode or args.empty?) and !block) ? Loquacious::Undefined.new(m.to_s) : nil
self.__send("#{m}=", default)
self.__send("#{m}", *args, &block)
end