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