MPESynthesizer started and stoppped notes

What’s the propper way to get the started and stoppped notes in the MPESynthesizer?

Context: I wanna offload the wavetables from each oscillator & voices to the MPESynthesizer that manages the voices so I only have them once instead of coppied across each voice. This way I just do the processing once and pass a pointer to the wavetable to be read in each voice.
That processing includes removing all my custom functions called in startNote() and stopNote() in each voice and calling them just once in the Synthesizer instead of each time for every voice.

More specifically, in a normal Synthesizer I would override and add whatever method I needed to call in noteOn(), but in an MPESynthesizer the akin function noteAdded() isn’t virtual.