RPC for Unity actions?

Hi all,

I am making a game where the player can carry objects and use them on other objects e.g. a key on a door. For easy configuration I made it that it can be setup in the editor like this:
photon-And-Actions.jpg

Right now I have added multiplayer functionality (RPC) like this:
public void Interact(GameObject carriedObject, float direction = 1)
    {
        gameObject.GetPhotonView().RPC("Interact", RpcTarget.AllBuffered, carriedObject.GetPhotonView().ViewID, direction);
    }
    [PunRPC]
    public void Interact(int carriedObjectViewId, float direction = 1f)
    {
        GameObject carriedObject = PhotonView.Find(carriedObjectViewId).gameObject;
        foreach (ItemAction itemAction in itemActions)
        {
            if (itemAction.carriedObject == carriedObject)
            {
                PlaySound(itemAction.sound);
                itemAction.action.Invoke();
            }
        }
    }

Now I was thinking it is really not needed that every player/client checks if the carriedObject can trigger a valid interaction so I want to leave that task to the player that uses a carriedObject and when an interaction for it has been found only that action should be RPCed on every other client (e.g. open the door). But since this action is configured in the editor I don't know how to do that.

In short: how do I do something like RPC(anction.Invoke())?

Thanks for any hint!