Send heartbeat in more thread-safe manner
- Previous way was operating on shared state (the Runnable reads actor's internal state)