[new model] add document provider to support working copies
[new model] add outline support