It's interesting that we're passing in `relation` and `header` into this method. I know that `relation.header` is not exactly the same kind of object as in `header`; the latter more or less being the list of attributes in the object to map to (?). It seems as if these two ideas are relatively closely related within the system and should perhaps be contained together (I assume this is what the node's purpose is?).

My main question is if this information can be known earlier and/or should it be in a registry to avoid creating it over and over? It looks like that's what the code does, but I wanted to confirm since I don't see things at as high a level as you do yet.