Moving retry logic from #socketData to sharing with #disconnect so multiple finish events don't fire, catching socket errors, randomizing "good" notifications in test, better test output