The stepping code should be before // Round to user desired precision based on format string:
I think it could work if we exposed an extra parameter in the low-level DragBehavior/SliderBehavior and let the user create their own drag/slider function with it.