This is racy... I don't think it matters, but I didn't originally think it would matter for HeartBeatMonitor.Beat either.

Clearly we need IConnection.RunWithStateLock :)