public <K, T> KafkaProducer<K, T> build(final Encoder<T> encoder,
final Partitioner<K> partitioner,
final Environment environment,
final String name) {
final KafkaProducer<K, T> producer = build(encoder, partitioner);
environment.lifecycle().manage(new ManagedProducer(producer));
return new InstrumentedProducer<>(producer, environment.metrics(), name);
}