I don't fully understand the issues involved here, but this all seems excessive.  It seems to be a means of mapping FITS header keywords to specific metadata, but this seems like an overly heavy way of handling that.  Things like `value = key(header)` also just *look* very confusing to me.  What actually is the problem being solved here?