OOP accessing method from non-related class
<p>Hello Stackoverflowers,</p>

<p>I have 5 classes, Foo, Bar, Thud, Grunt, Zot. 
Thud and Grunt instances are field of Bar. Foo instance is a field of Thud.</p>

<p>Foo, Thud and Grunt prepare data for a View (MVVM pattern, they are the view model). Foo and Zot are the datas or create them (the model)</p>

<p>Among other things, Foo produce some Zot listed in Grunt (added from Bar, who access Foo from Thud). I need Foo to get the list of Zot in Grunt. If possible i would like to avoid going all the work (will serialize the list) in the Grunt or the Bar class because they are not the model. The process will always start from Foo (adding new classes or stuff is of course possible)</p>

<pre><code>public class Bar
{
  Thud thud;
  Grunt grunt;

  Bar(Zot zotInstance)
  {
    new thud();
    new grunt();
    grunt.zotlist.add(zotInstance);
  }
 }

public class Thud
{
  Foo foo;
}

public class Grunt
{
  list&lt;Zot&gt; zotList;
  public list&lt;Zot&gt; getList();
}
public class Foo
{
  public Zot makeZots() {};
  public void BringMeZots() // I would like a way to get the zotList when this method is called.
}
</code></pre>

<p>I'm not sure to explain it in the simplest way. Tell me if another explanation of my problem is needed.</p>