Thread per plugin
Spin off a thread for each plugin, and let the plugin do its thing.
This, IMO, is a better fit for some of the plugins, as they don't know in advance when a new state will be available. This way, they simply publish when they are ready.