def METHOD_NAME(self, player: Player, factions: list[Faction]):
    if player not in self.player_parties:
        self.player_parties[player] = PlayerParty(player)
    party = self.player_parties[player]
    party.METHOD_NAME(player, factions)
    self.mark_dirty(party)