Hi.
Currently, there’s no way to create a package with a different implementation of TransportInterface (e.g., a non-blocking one) without requiring the entire package as a dependency just for that single implementation. Perhaps you could move the TransportInterface to a separate package and keep only CurlTransport in this one.