Basically, yes. We have a "large" object that represents a line item on an order. For us, that's a single product we manufacture (Window or Door). This object has all the data we know about the Order Header and the Line Item, including a few hundred properties that describe the Window.
The user will need to evaluate these pieces of information to determine, or example, how to price the product based on it's size, upgrades, special features, etc.
So, we are trying to decide if we should pass the entire object as that second parameter, OR expose all of it's data as properties in the Host Item.
To me the decision is one of pipeline performance. For example, iIf the user is going to read 10 - 20 strings from this object, is it better to pass the entire thing through the pipeline once as an event parameter, or have 10-20 calls back to the Host Item to get them.