/// <summary>
 /// 
 /// </summary>
 /// <param name="doneAction">The delegate to call once the worker has finished.
 /// This won't be on the UI thread, and will require an Invoke.</param>
 public void Run(Action doneAction)
 {
     var worker = new ActionThreadWorker();
     Thread thread = new Thread(worker.Run);
     thread.Name = "Action thread";
     thread.Start(doneAction);
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="doneAction">The delegate to call once the worker has finished.
        /// This won't be on the UI thread, and will require an Invoke.</param>
        public void Run(Action doneAction)
        {
            var    worker = new ActionThreadWorker();
            Thread thread = new Thread(worker.Run);

            thread.Name = "Action thread";
            thread.Start(doneAction);
        }