I am trying to code an class that has a dependency on a WCF Service, and I would like my class to be unit testable. I came up with the below code, but got into a bit of tricky situation

```
public class BenefitReason
{
    private IWCFServiceClient _client;

    public  BenefitReason(IWCFServiceClient client)
    {
       _client = client;
    }

    public CanIssueEmercengyBenefit(string benefitReasonCode)
    {
         client.GetEmergencyBenefits().contains(benefitReasonCode);
    }
    //Rest of implementation for Benefit Reason
}

```

This is unit testable as I can mock `IWCFServiceClient`, however I lost the control over my client. If the client channel closed between the times the `BenefitReason` object is created and `CanIssueEmercengyBenefit` is called then an exception occurs. 

Please advice on how to get past this tricky situation of writing code that can be unit-tested vs losing the control on wcf client instantiation.