I see how to pass data in the form of strings [from one object to another](https://devblogs.microsoft.com/xamarin/xamarin-forms-shell-query-parameters/)

What I want to do, however, is pass an object from one vm to another -- is this possible? I can think of these ideas:

1. Stream the object as json and pass that as a param.
2. Use an id to look up and create the object
in the receiving vm
3. Pass the object itself (ideal)

Will any of these work (well, #2 almost certainly will)? If 1 or 3 will work, can you possibly supply (detailed?) instructions on how to do so?

Thanks!!
jesse liberty