Ok, there is one thing bugging me about this idea: You provide an object to the method (faraday_factory) which you give all the other arguments to that you provide in the same hash as you provide this object. This is totally weird.

I think it would make sense to make the factory more powerful. In the first step I would allow to add more middlewares via the options hash:

```ruby
Connection.new("...", "...", {
  logger: BlaLogger,
  adapter: BlaAdapter,
  request_middlewares: [
    [:my_instrumentation]
  ]
})
```

This would add one middleware to the adapter. What do you think?