Optionally, persist to storage every time we check
Update to work with socket.io 1.x and pass in socket.io instance instead of http server