For reference, I recently went through the exercise of developing a IPC API plugin. I started with a prototype that used the legacy API, and have included it in the repo. So it may act as a bit of a Rosetta Stone for people familiar with the older style.
I hit plenty of documentation gaps, a couple of bugs, and general challenges associated with using a maturing API. I hope my hard earned lessons can help accelerate others!