How do I return the results of a simulation synchronously?

I have a function in another class that calls the simulation class and causes it to run, how do I retrieve the results of it synchronously after the simulation has finished?

Usually the pattern for synchronous job completion is to provide a callback that the job function calls when it is done.

I usually just use a System.Action for this purpose, passing it in when I kick off the work.