title: Multiple calls for method binding in Zenject
body: <p>I have a MonoBehaviour that uses method injection :</p>
  
  <pre><code>    [Inject]
      private void Init(IFirst first, ISecond second)
      {
          _first = first;
          _second = second;
          StartService();
          Debug.LogError("Should only appear once!");
      }
  </code></pre>
  
  <p>For some reason this method is getting called twice by Zenject, and I dont understand why. Even worse: If I add a Update method to the class, which doesnt do anything special (and does NOT call Init!) suddenly Init gets called 7 times! 
  The Update doesnt do anything fancy:</p>
  
  <pre><code>    private void Update()
      {
          //return;  &lt;-- if this is added, init gets called 2 times by zenject, otherwise 7 times
          if (someFlag)
          {
              SomeGlobalField = "something"
              someflag = false;
          }
          if (!SomeGlobalField.Equals(SomeOtherGlobalField))
          {
              SomeOtherGlobalField = SomeGlobalField;
              StartService();
          }
      }
  </code></pre>
  
  <p>The only connection between both is that they both call StartService, which again isnt doing anything special, just calling a method on one of the injected fields. </p>
  
  <p>Can someone enlighten me what might be going on here? I am using ProjectContext. I checked some other classes which seemed fine. The class is only added to one gameobject in the scene. </p>