This method is *only* used by serialization. I want it to be temporary, but attempts to remove it at this stage came out even uglier, will circle back after some further refactoring of surrounding code to see what comes out of it.