Completion: simplify visible_provider_changed()
Completion: rework move_page() (not finished)