Encapsulate heartbeating into HeartbeatManager

Signed-off-by: Rick Copeland <rick@synapp.io>