I solved my own problem using Injector.instance.
However, the application logics have the same type, and now I get a runtime error saying
A binding to org.apache.kafka.streams.KafkaStreams was already configured at com.ds.foo.modules.TestStream$.provideTestStreamKStreamBuilder() (via modules: com.google.inject.util.Modules$OverrideModule -> com.ds.foo.modules.TestStream$).
at com.ds.foo.modules.TestStream2$.provideTestStreamKStreamBuilder(TestStream2.scala:25) (via modules: com.google.inject.util.Modules$OverrideModule -> com.ds.foo.modules.TestStream2$)
and also, if I have a flag module that is used by the two modules TestStream and TestStream2, how do I give them different values on the command line?