I'm reading in some large(ish) excel file which take "ages" to load. I can load it in before I really need to access it. So I thought this would be a good use for an IFuture from the Parallel Programming Library. But I'm not sure how to go about it as all of the "Future" examples only cover simple types such as strings, integers etc.

Here's the non-parallel code:

```
xls := TsmXLSFile.Create;
xls.Open(s);

```

Where "xls" is the Excel object and "s" is a memory stream. 

How would a "Future" go about this? Would I declare xls as...

```
xls := IFuture<TsmXLSFile>

```

Is this correct. If it is then do I need to free it like a normal TsmXLSFile since it's now an interface?

Steve