title: How do I bind Different Interfaces using Google Guice?
body: <p>Do I need to create a new module with the Interface bound to a different implementation?</p>
  
  <pre><code>Chef newChef = Guice.createInjector(Stage.DEVELOPMENT, new Module() {
       @Override
        public void configure(Binder binder) {
          binder.bind(FortuneService.class).to(FortuneServiceImpl.class);
        }
  
      }).getInstance(Chef.class);
  
  Chef newChef2 = Guice.createInjector(Stage.DEVELOPMENT, new Module() {
    @Override
    public void configure(Binder binder) {
      binder.bind(FortuneService.class).to(FortuneServiceImpl2.class);
    }
  
  }).getInstance(Chef.class);
  </code></pre>
  
  <p>I cannot touch the Chef Class nor the Interfaces. I am just a client binding to Chef's FortuneService to different Interfaces at runtime. </p>