def configuration_module(base = self)
      Module.new.tap do |cm|
        delegators = get_configuration_methods
        base = send(base) if base.is_a?(Symbol)
        cm.extend Module.new {
          delegators.each do |method|
            module_eval do
              define_method(method) do |*args|
                base.send(method, *args)
              end
            end
          end
        }
      end
    end
def configuration_module(base = self)
      Module.new.tap do |cm|
        delegators = get_configuration_methods
        base = send(base) if base.is_a?(Symbol)
        cm.extend Module.new {
          delegators.each do |method|
            module_eval do
              define_method(method) do |*args|
                base.send(method, *args)
              end
            end
          end
        }
      end
    end
Creates and returns anonymous module containing
 delegators that point to methods from a class this module is included in
 or the given +base+.

 @param base [Object,Symbol] base object which delegators will point to (defaults to object on which
  this method has been called). If symbol is given, then it should contain the name of a method that
  will be called on current object.

 @return [Module] anonymous module with proxy module methods delegating actions to +base+ object