- reduce the number of decorations - update all decorations in batch - reduce 'getDecorationRange' calls (only needed to track folded regions) - separate FoldingModel - tests for all folding actions