Persisting completion status + refactoring