Customize player disconnection

Helllo! I’m trying to save some player properties to database in some game cases. The properties are mostly a position and some variables values of player pawn. A problem is, that I want to save player also when he leaves, e.g disconnects. Obvious implementation as I thought was to place saving code to Logout method of GameMode, but I found, that in that moment player’s pawn is already destroyed (it happens in AController::Destroyed). So, as I see, the only place where I can do my saving logic is my PlayerController Destroyed method before base classes one, but I don’t like this, cause my PlayerController is using not only in that game mode, but saving required only here. Do I have any other possibillities, or this sollution is the simplest and preffered?

Addition: it is better if some way to handle exactly player disconnect(e.g connection loss) exist.