It might be a good idea to make this one generic and add a common interface for WpfStreamingSession and WpfScraperConfig with the UpdateStreamingSession and UpdateScraper method:

```
internal interface WpfListItem<T> {
   void UpdateFrom(T data);
   string Identifier { get; }
}

internal class WpfScraperConfig : WpfListItem<T> {
}

internal static class ExtensionMethods {
   public static void UpdateList<TWpf, TData>(this ObservableCollection<TWpf> oldList, IList<TData> newList) 
      where TWpf : WpfListItem<TData>
   {
   }
}
```

Now that I'm writing it out, why does Wpf require all this wrapping crap? Might be not worth it to make this generic.