'Initialize an MDN data source.'

def __init__(self, param, **options):

    setattr(self, self.PARAM_NAME, param)
    self.state = self.STATE_INIT
    self.freshness = self.FRESH_UNKNOWN
    for (name, params) in self.OPTIONS.items():
        (option_type, default) = params
        assert (option_type in self.OPTION_TYPES)
        self.assert_option_value_allowed(option_type, default)
        setattr(self, name, default)
    self.merge_options(**options)
