Refactor to Integrator