How do I minimise boilerplate code and hard dependencies when actor components need to interact with each other?

i agree its a pain, but is more modular and more efficient, get component by class is ok but it still has to iterate over all components and you have to deal with a fail condition

i went down the BPI route too but scrapped it because you cant bind to events, i just create an component base now and pass that through. it is a hard ref, but its lightweight and you can alter anything in its children anyway

but i too am looking for better ways