void events_StatusChanged(object sender, StatusChangedEventArgs e)
 {
     startTimer.Interval = TimeSpan.FromMilliseconds(5000);
     startTimer.Tick += (_s1, _a1) =>
     {
         startTimer.Stop();
         //var slide = 1431411;//Mic's slide
         //var slide = 1598402;//The big pedal one
         var slide = 1629401; //Gordon's essence of mammal
         if (e.isConnected)
             conn.getHistoryProvider().Retrieve<PreParser>(null, null, _parser =>
             {
                 var elements = ((LiveHttpHistoryProvider)conn.getHistoryProvider()).elements;
                 var iterator = elements.GetEnumerator();
                 timer = new DispatcherTimer();
                 timer.Tick += (_s, _a) =>
                 {
                     iterator.MoveNext();
                     var message = iterator.Current;
                     if (message == null) return;
                     Logger.Log(message.ToString());
                     foreach (var ink in message.SelectElements<MeTLStanzas.Ink>(true))
                         simulationField.Strokes.Add(ink.Stroke.stroke);
                     foreach (var text in message.SelectElements<MeTLStanzas.TextBox>(true))
                         simulationField.Children.Add(text.Box.box);
                     foreach (var dirtyInk in message.SelectElements<MeTLStanzas.DirtyInk>(true))
                     {
                         var existingStrokes = simulationField.Strokes.Where(s =>
                             s.sum().checksum.ToString().Equals(dirtyInk.element.identifier));
                         foreach (var stroke in existingStrokes.ToList())
                             simulationField.Strokes.Remove(stroke);
                     }
                 };
                 timer.Interval = TimeSpan.FromMilliseconds(100);
                 timer.Start();
             }, slide.ToString());
     };
     startTimer.Start();
 }
 private void statusChanged(object sender, StatusChangedEventArgs e)
 {
     Commands.Reconnecting.Execute(e.isConnected);
 }
 protected virtual void onStatusChanged(StatusChangedEventArgs e)
 { StatusChanged(this, e); }