How to use actor components without casting all the time?

Hello! I’m trying to figure out how to use actor components for the guns i’m creating to differ between different kinds of reloads or projectile types.

My main gripe with actor components is that there is no way (that I know of) to get the variables from it’s parent actor without casting inside of the component. Is/why isn’t there a way to make an actor component specifically linked to a class that can use all its variables? Like why can’t I say that this component can only be used with this class, therefore, there’s no way the variables I’m asking for won’t be there.

In my construction-script/begin-play, if I know I am going to need to refer to something more than once, cast to it then, in the beginning, then create a local reference/variable (object) to that. You can also do this with the specific Blueprint Interface on a thing so you can just-send stuff to that set-of-methods, on that specific-thing vs object-ref → part-a → part-b, etc.

eg:

Now, I can send calls to the local-variable ‘Char Anim Communicator’ and call it’s various methods for the animation-bp on the other side. Cast to the other-thing, as-that-thing, get a reference to a local method, BPI, variable, whatever, and declare that as a local (local variable), instant direct-link you don’t have to cast to (re)use.