AudioProcessorValueTreeState vs AudioProcessorParameter

I started out my plugin with a few parameters and of course, it grew over time and dealing with plugin state and other things is becoming more and more unwieldy. So I’m wondering if I should consider taking the time and switch the entire plugin over to an AudioProcessorValueTreeState.

Has anyone done this? Pros and cons?

One thing that I’ve done is subclass the standard AudioProcessorParameter classes and added a MIDI CC number so users can (hopefully) change them easily. Does this present any issues?

Thanks everyone.