First of all, thanks for your nice comment, I'm happy you liked the tutorial! So the `object` type is a cool C# trick for having this dynamism, actually ;)
It works with the "boxing and unboxing" (you can learn more about it here: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing) that allows you to "convert" anything to an object, and vice-versa :)
Basically, you'd just need to create a list of Item[], and put them in your TriggerEvent() call, and that should do the trick! On the other side (ie the receiver), you'll get some `object` data variable that you can cast back to an `Item[]` type.
Hope it helps, cheers!