Allowing Three Value slider middle thumb to nudge min and max

Greetings. I am very new to JUCE and fairly new to C++ too, so forgive me if I’m missing an obvious solution.

I am trying to implement a ThreeValueSlider where moving the middle thumb causes the min and max thumbs to move at the same time and by the same amount. This gives me a slider where I can set an upper margin with the max thumb and a lower margin with the min thumb and move the whole range by draging the middle thumb. This behaviour was fairly straight forward to implement by setting the min and max values whenever the middle thumb moves and this works well so long as there is a bit of margin between the min/max values and the middle value. However, when the upper and lower margins are zero and all three thumbs sit on the same position, the middle thumb gets stuck between the min and max as I am unable to update the min and max thumb values if the middle thumb value never changes.

I’ve managed to work around this by forcing a small margin around the middle pointer, but this solution is not providing satisfactory restults. It seems to me that there is little I can do to improve this. It would be nice if there was a mode that allowed the middle thumb to nudge the min/max thumbs just as they are able to nudge the middle thumb. I’ve tried to figure out how I could do this myself, but I gather that the functions I would need to update are members of the private Pimpl subclass. I would be appreciative of any suggestions for how I could achieve the behaviour described above or equally, if I should give up on the ThreeValueSlider for this purpose.