public void StartTrain(NewTrainEpochDelegate aCallback) { if (trainingStopped) { callback = aCallback; trainThread = new Thread(new ThreadStart(this.Train)); trainThread.Start(); trainThread.IsBackground = true; trainingStopped = false; } }