public void Stop()
{
if (!IsRunning || _startOrStopSignalled) return;
_startOrStopSignalled = true;
_folderWatcherService.Stop();
_commanderService.Stop();
IsRunning = false;
_startOrStopSignalled = false;
var commanderStoppedEventArgs = new CommanderStoppedEventArgs();
RaiseAsynchronousOnCommanderStoppedEvent(commanderStoppedEventArgs);
}