Hey Jules -
I suspect you won't be into this, but I would love it if setPlayhead were virtual.
The reason is that I've started building plugins that in turn host other plugins. So .... when the play head is set on the top plugin, it would be great to cascade that down to all the rest.
Currently, I just do a check at the beginning of the processBlock() to see if the submodules' playheads have been set.
Anyway, just a though, let me know.