With regards to data the API of the Viewmodel class is the same as for the View, so you can use the set(), set_safe() and get() methods to send data to it, or get data from it. Or use bind() to bind a variable by reference. And it also supports the global variants.
So you can do
return ViewModel::forge('index')->set('title', 'This is a title');
which inside the Viewmodel becomes $this->title, and in the view wil be $title.