IFuture<T> = interface(ITask)
template<typename T> __interface IFuture__1 : public ITask
The return value of the function called from the IFuture<T> instance is accessed by the property, Value, which will immediately execute if the return value is available or wait for the function in the parallel thread to complete.
You can use an instance of IFuture<T> to set the process running and then get the result ready at the point you want. This allows you to prioritize code blocks to run in the order you want, but still ensure you get the value at the point you need it.