rev: split out heartbeat class