An wrapper of the web-client that provides virtual methods so that they may be overridden by unit-tests.
See: http://msmvps.com/blogs/theproblemsolver/archive/2008/12/07/unit-testing-in-silverlight-part-2.aspx
 /// <summary>Constructor.</summary>
 /// <param name="webClient">The web client to use.</param>
 /// <remarks>Inject a different client to teh constructor for testing purposes.</remarks>
 protected LoaderBase(TestableWebClient webClient)
 {
     WebClient = webClient;
     WebClient.OpenReadCompleted += Handle_OpenReadCompleted;
 }
 public SampleLoader(TestableWebClient webClient) : base(webClient){}