REF: collect attribute-setting at the end of create_axes
Ideally we wouldn't be altering `self` inplace at all, but we can make this a lot easier to reason about by collecting all of the attribute-setting at the end of the create_axes call.

`self.non_index_axes` I couldn't get all the way to the end of the call without a more invasive edit, which ill save for a separate pass to keep the diff smallish
changed to more descriptive names, added annotation for new_data_columns, non_index_axes i kept as `List`because I think we can do a better job of being consistent about what we're passing, want to wait to annotate until then  sure