public void RunWhenLocationKnown(RequiresKnownLocation method)
 {
     if (LocationKnown == true)
     {
         method(CurrentLocation);
     }
     else
     {
         lock (methodsRequiringLocationLock)
         {
             methodsRequiringLocation.Add(method);
             methodsRequiringLocationTimer.Change(timerIntervalMs, timerIntervalMs);
         }
     }
 }
 public void RunWhenLocationKnown(RequiresKnownLocation method)
 {
     if (LocationKnown == true)
     {
         method(CurrentLocation);
     }
     else
     {
         lock (methodsRequiringLocationLock)
         {
             methodsRequiringLocation.Add(method);
             methodsRequiringLocationTimer.Change(timerIntervalMs, timerIntervalMs);
         }
     }
 }