public virtual async Task Start(string ip, string mib, SnmpMethod method, int pingEveryMs, Action <SnmpData> onResponse, CancellationToken token = default(CancellationToken))
 {
     while (!token.IsCancellationRequested)
     {
         onResponse(_snmpService.Request(ip, mib, method));
         try
         {
             await Task.Delay(TimeSpan.FromMilliseconds(pingEveryMs), token);
         }
         catch (TaskCanceledException)
         {
             break;
         }
     }
 }