Update on demand for describe and completion.
Some refactoring.