Have a look at my non-green answer here:
I posted it not so long ago, it demonstrates the kind of interaction that you’re after (and more!). And there’s a project link so you can get hands-on with it.
It’s hard to tell how you set things up; but generally speaking, you implement an interface on an actor, that interface gives that actor a bunch of functions. You call the interface and the actor executes its own version of that function. Simplifying but that’s the gist.