Holy crap it works. Added a subprocess to pull events from Salt and queue them and a greenlet to broadcast them, and that seems to have fixed the responsiveness issues. Also implemented a working get_job message.
Updated docs.