Yup, tstops + DiscreteCallback is a good way to do it. Or just use the integrator interface.
tstops
DiscreteCallback
integrator