Could I get some clarification on the logic of things?

So is how my perception of things I hope you can correct me if am wrong.

1 I create my class from ACharacter:: class with the movement,
and handling of damage (basic stuff applicable for AI and Player).?

2 You leave out network specific things like update score and so on to the APlayerController::
This is where methods/ interface to from the server should be handled (Network stuff)?
Basically all RPC calls except the damage, and “inventory” since you want that to be available for both bots and players and then interface it with the PlayerCntroller::?

3 Then i use the PlayerState:: to keep track of stuff like “the player is on a kill streak” ?

Thanks for any input.