Add Heartbeat Timeout event

Instead of throwing an exception on heartbeat timeout, invoke an appropriate method on the status listener.