Best method to invoke a contract with parameters?

Let us say that I want to invoke a contract with the address supplied as a parameter to the ReceiveFunction, therefor we need a ReceiveParameter, but also invoking the contract has its own set of parameters, is the best way to create a struct of ReceiveParameter that has as a variable InvokeParameter or is there a better way I am missing?

I think in general that is the solution you have to go with.