docs: protected <T extends MessageOutput> void installOutput(MapBinder<String, MessageOutput.Factory<? extends MessageOutput>> outputMapBinder,
                                                             Class<T> target,
                                                             Class<? extends MessageOutput.Factory<T>> targetFactory) {
          install(new FactoryModuleBuilder().implement(MessageOutput.class, target).build(targetFactory));
          outputMapBinder.addBinding(target.getCanonicalName()).to(Key.get(targetFactory));
      }