How to modify dsp::Convolution?

I would like to make a modified version of dsp::Convolution that can run multiple filters from the same input buffer, without duplicating the forward FFT for each filter.

  1. Has this already been done / shared online?

  2. Is the best way to do it:
    a. Make a new class that derives from dsp::Convolution and add/override stuff?
    b. Duplicate the dsp::Convolution source code, change the class name, then edit?

Pardon my ignorance.