class TwitterAPIClient implements HttpClientInterface { protected $httpClient; public function __construct() {} public function setHttpClient($httpClient) { $this->httpClient = $httpClient; } /* ... */ } $client = new TwitterApiClient; $client->setHttpClient(new SomeCurlWrapper);