def __init__(cls, *args, **kwargs):

    @property
    def getter(self):
        try:
            return self[cls.option]
        except KeyError:
            return cls.default()
    setattr(Options, cls.option, getter)
    Options.__options__[cls.option] = cls
def __init__(cls, *args, **kwargs):

    @property
    def getter(self):
        try:
            return self[cls.option]
        except KeyError:
            return cls.default()
    setattr(Options, cls.option, getter)
    Options.__options__[cls.option] = cls