Hosting two instances of a mono plugin with common editor and parameters

I need to host two instances of a given plugin, with one set of parameters and one AudioProcessorEditor controlling both instances.

For example, 2 mono delays would provide 2 audio inputs, 2 audio outputs, one set of parameters, and one editor.

What would be the best way to approach this in JUCE…?

I started out writing a stereo AudioProcessor that contains a std::vector<AudioPluginInstance> with the first instance as the “master”, and the other listening for parameter changes. However, I quickly found myself writing a lot of code.

Is there an easier way to do this? I figure it must be a fairly standard thing for hosts to want to do…