You can load anytime you like, but it will overwrite everything it references.
I would use a global to say what happens at the start of layout.
That also tells you if its a regular start, or load, so a trigger at the end is not real necessary.
I would use on load complete like if you wanted to pause the game IE timescale at the time of the save, the change it on load.
Obviously trigger once can't be saved as a state. Can't help you there...
Variables might work better since they can work the same way. As in changing the variable works as a trigger.