document LightObserver and move state backup code