Due to a race condition between the BeginPlay of the Tank BP where the TankAimingComponent reference is set and the BeginPlay of the PlayerUI BP which tries to access said TankAimingComponent reference to get the aiming state of the tank, NPEs were occurring.
To fix this, use a BlueprintImplementableEvent to ensure that the PlayerUI doesn't get created until we have the TankAimingComponent reference.