'Initialise with the mapping name(s) and arguments.
`names` can be a single name or a list of names. The first name found
in a given module is the one used. Each module is searched for a
function called <name>_mapping() which is called to retrieve the
mappings provided by that module. Any other arguments passed will be
passed to the mapping functions.'

def __init__(self, names, *args, **kwargs):

    if isinstance(names, six.string_types):
        names = [names]
    self.names = [('%s_mapping' % name) for name in names]
    self.args = args
    self.kwargs = kwargs
