Awesome, thanks Kovid, I was hoping you might do something like that.
There are still some other considerations that plugins will have to be wary of when the multi-client things rolls around of course - the standard concurrency type of issues. Such as where stale data in a plugin on one running instance of calibre will overwrite that being used in memory of another instance. I will be interested to see which approach you choose when you get there...