Implement --push-state/--pop-state.