Check for disconnects by making sure we see some activity at at least once every 2 minutes.
Track and clear the presence interval timer; make the timer period configurable.
Clean up error handling; be careful to not throw errors before we're connected.