/// <summary>
 /// Constructor for playback from file
 /// </summary>
 /// <param name="gameLog"></param>
 /// <param name="intervalMs"></param>
 /// <param name="callbackObject"></param>
 /// <param name="forceUpdateInterval"></param>
 /// <param name="playbackSpeed"></param>
 public AutoUpdatingWebString(
     List <string> gameLog,
     int intervalMs,
     AutoUpdatingWebStringCallback callbackObject,
     int forceUpdateInterval,
     int playbackSpeed)
 {
     CallbackObject      = callbackObject;
     ContentFromFile     = gameLog;
     PlaybackThread      = new Thread(RunUpdateFromFile);
     ForceUpdateInterval = TimeSpan.FromMilliseconds(forceUpdateInterval);
     ShouldStopPlayback  = false;
     PlaybackSpeed       = playbackSpeed;
     PlaybackThread.Start();
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="url">URL to query</param>
 /// <param name="intervalMs">Interval in ms between queries</param>
 /// <param name="callbackObject">Object to receive OnWebStringUpdated() notifications</param>
 /// <param name="forceUpdateInterval">If > 0, mnumber of milliseconds when next update is forced even with the same string</param>
 /// <param name="shouldSuppressMouseDownUpdates">If true, updates when mouse id down are ignored</param>
 public AutoUpdatingWebString(string url,
                              int intervalMs = 1000,
                              AutoUpdatingWebStringCallback callbackObject = null,
                              int forceUpdateInterval             = 0,
                              bool shouldSuppressMouseDownUpdates = false)
 {
     URL                           = url;
     CallbackObject                = callbackObject;
     ForceUpdateInterval           = TimeSpan.FromMilliseconds(forceUpdateInterval);
     StartTimestamp                = DateTime.Now;
     LastUpdateTimestamp           = StartTimestamp - ForceUpdateInterval;
     ShouldSuppressMouseDownEvents = shouldSuppressMouseDownUpdates;
     ShortIntervalMs               = intervalMs;
     LongIntervalMs                = forceUpdateInterval;
     Start(intervalMs);
 }