>> The default-values can not change at the runtime. I think it would be more efficient to load all at once and not each be its own.
>> Something like:
>> ```python
>> try:
>>     return self._config_variables[key]
>> except AttributeError:
>>     self._config_variables = {}
>>     for receiver, config_page in config_signal.send(sender=self):
>>         for config_object in config_page.variables:
>>             if config_object.name in self._config_variables:
>>                 raise ConfigError('only one key is allowed...')
>>             self._config_variables[config_object.name] = config_object.value
>> except KeyError:
>>     raise ConfigError('No Value found for %s' % key)
>>```
> The signals are also called from the memory stack? Is the efficiency so big?
There maybe called from the memory stack, but why call a lot of functions with a lot of output, if you only want one value. And why ignore all the output if you want to use it later anyway?