title: Should I register ViewModels in Container?
body: <p>Should I register ViewModels in Container and resolve from there?</p>
  
  <p>Benefits:</p>
  
  <ol>
  <li>I can perform some actions when view model is activated</li>
  <li>Container will inject dependencies for me</li>
  <li>???</li>
  </ol>
  
  <p>Drawbacks:</p>
  
  <ol>
  <li>ViewModel lifetime management can be tricky:
  <ul>
  <li>if I make ViewModel singleton then I can't instantiate several controls of the same type</li>
  <li>if I make ViewModel transient then I can easily end up in a situation of having several different instances when I actually expect same instance injected</li>
  </ul></li>
  <li>???</li>
  </ol>
  
  <p>What's the right answer?
  I'd prefer to register if I could mitigate lifetime drawback.</p>
  
  <p>I'm using Caliburn and Autofac if it matters.</p>