title: Dagger: What if I *WANT* a new instance every time?
body: <p>Interesting how difficult this answer is to find.</p>
  
  <p>I've been using Dagger - Android for a while now and have my entire dependency graph set up. I'm using scopes, qualifiers, all that good stuff. I'm not a Dagger newbie anymore, but suffice to say I've been using it in a pretty standard way in my Android setup and everything has been going great.</p>
  
  <p>For the first time, I'm realizing that I'd like to request new instances of a certain class in my graph myself, manually, and I <em>want</em> it to be a new instance every time. </p>
  
  <p>What's the best way to go about doing that? I'm wondering if there's a way to leverage a non-@Singleton/non-scoped provider and call some sort of <code>create()</code> method myself, or if it's best to create a factory myself and make that factory a singleton/scoped instance and use my factory to get the new instance(s) when I need them? [I should mention this class will definitely <em>not</em> have an empty constructor so will need injected instances of other classes defined in my injection graph.]</p>
  
  <p>(Also, it would probably help the most if answers were in the context of Android; i.e. I'm in, say, a ViewModel and need a new instance of some class defined in one of my Modules.)</p>