So I'm struggling to understand the communication occurring between the extension and osqueryi. I thought the extension runs independent of osqueryi happily updating an in-memory table maintained by osqueryd periodically. When I run osqueryi I assumed it was "just reading a table". Why is there (or is there?) socket communication between the extension and osqueryi?