Addressed code review comments.

- Modified how we track the active state of the client.
- HeartbeatMonitor is now a generic beat that can be used for periodic checks.

#2528