After a bit of head scratching I just realised that the ```netcdf_var``` and ```cfnames``` attributes are very tightly coupled together. Apologies for being slow :turtle: ...

Would you consider making this relationship explicit via something along the lines of:

    from collections import namedtuple
    CFVARIABLE = namedtuple('CFVariable', ['names', 'coords'])
    ....
    self.cf_variable = CFVARIABLE([], [])

So you can still do stuff like:

    self.cf_variable.names.append(cf_name)
    self.cf_variable.coords.append(coord)

and

    if coord not in self.cf_variable.coords:

What do you think?