title: Does ServiceController.WaitForStatus set the status or just wait?
body: <p>I'm using <code>ServiceController.WaitForStatus</code> for the first time to limit time wasted on trying to start services that won't start. My assumption is to use it like this:</p>
  
  <pre><code>var sc = new ServiceController(_monitoredService);
  var seconds = _startWaitTimeout / 1000;
  sc.Start();
  sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 0, seconds));
  if (sc.Status != ServiceControllerStatus.Running)
  {
      _logger.Warn($"'{_monitoredService}' did not start within {seconds} seconds.");
  }
  </code></pre>
  
  <p>Then a little devil on my shoulder suggested that <code>WaitForStatus</code> might take it upon itself to attempt to set the status before waiting. Does it?</p>