def __init__(self, **defaults):
        "Initializes instance varaibles and checks defaults while loading."
        self.__defaults, self.__changes, self.__master = {}, {}, None
        for key, value in defaults.items():
            if isinstance(value, Namespace):
                if value.__master is not None:
                    raise ValueError(repr(key) + ' may not have a master!')
                value.__master = self
                self.__defaults[key] = value
            elif isinstance(value, Parameter):
                self.__defaults[key] = value
            else:
                raise TypeError(repr(key) + ' has unacceptable type!')
Initializes instance varaibles and checks defaults while loading.
recipes/Python/578173_Settings_Organizer/recipe-578173.py