Calling SetupInputComponent() out of SetPawn() is a REALLY Bad Idea. Because it causes
InputComponent->BindAction()
to create mutliple AB structs inside the InputComponents AB Array. Which all represent the same action.
This leads to multiple calls of the same handler function if the Key is pressed.
Furthermore it is a potential memory leak if one PlayerController posseses many Pawns one after another.
(I Edited the Answer and removed the SetupInputComponent() call)