Run now works

The run feature on the simulator now works correctly.
Added a multi threaded collection to handle updating the collections via
a background worker.