¿Cómo crear un interruptor de encendido / apagado con Javascript / CSS?

Quiero tener un interruptor deslizante. A la izquierda estaría apagado y a la derecha estaría encendido. Cuando el usuario cambia el interruptor, quiero que la parte del 'control deslizante' se deslice hacia el otro lado e indique que está apagado. Entonces podría tener una devolución de llamada que tome como entrada el estado del interruptor de modo que pueda actuar en consecuencia.

¿Alguna idea de cómo hacer esto?