//gets a move using a separate thread private static Thread GetMoveAsync(MoveJob moveJob) { return(new Thread(() => moveJob.GetMove())); }