What is the proper way to handle a discontinuity in Differential Equations?

See DiscreteCallback example. Event Handling and Callback Functions · DifferentialEquations.jl