title: Is it possible to create different instances of the same object and access them by passing parameters to get() function in Koin?
body: <p>I am using Koin as a DI for my app. I created a module: </p>
  
  <pre><code>object NetworkModule {
      fun get() = module {
          single {
              val authenticationInterceptor = Interceptor { chain -&gt;
                  // Request customization goes here
              }
  
              OkHttpClient.Builder()
                  .connectTimeout(15, TimeUnit.SECONDS)
                  .readTimeout(60, TimeUnit.SECONDS)
                  .writeTimeout(60, TimeUnit.SECONDS)
                  .addInterceptor(authenticationInterceptor) //Not all clients might have this interceptor
                  .build()
          }
  
          single {
              Retrofit.Builder()
                  .baseUrl("example.com")
                  .client(get(/* I would like to send some paramter here */))
                  .addConverterFactory(GsonConverterFactory.create(get()))
                  .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                  .build()
                  .create(Api::class.java)
          }
      } 
  }
  
  </code></pre>
  
  <p>How can I create different <code>HttpClient</code> or <code>Retrofit</code> instances which have different parameters set or has different instantiation? For instance, in some cases, I might need <code>OkHttpClient</code> with <code>AutheniticationInterceptor</code> and in some other cases my client might not need to use it.</p>
  
  <p>Can I pass some parameters when calling <code>get()</code> so that I can get different instances? Any suggestions would be apprieciated. </p>