Technically, shouldn’t the isFiring bool be on the bow itself AND the player? Because the way you have it now, the bow has a dependancy on the character, whereas if you had an isfiring bool on the bow as well (which you would change as you changed the one on the character) then the bow would be self-contained. You’d simply cast to bow instead of player and get its var.
Just a thought.