savegame: heavy refactoring of helper methods