Refactor: Move away from a builder to always using NSCopying / NSMutableCopying to manage state.
YAGNI — get rid of the “identifier” stuff until I know I’m going to use it.
WORK IN PROGRESS -- checkpoint for big-ass refactor
Trivial mutable tests pass.
Oops, add the tests.
I’m now about 50% confident that VOMutableChangeDescribingArray works. The nice thing is I’ve got tests that should be easy to extend as I find bugs, and it’ll work “well enough” for my uses.
And BOOM! The no-change-assignment optimization.
A little smelly but pipelined maps work with suppression of values that are in the same equivalence class.
Added filtering.
Rename a bunch of PL classes to VO classes.
Houston, we have pipelines.
It feels a little hacky & fragile, but PVSectionedDataSource has been brought into the copy/mutableCopy world.
Closer to being wired together. Something’s funky with the detail view.
OK, got stuff working with the detail view controller.
Add VOInvalidating protocol
Autosave works.
Tiny bug in PVSectionedDataSourceTransformer… it didn’t properly handle nil values. I invested a bit trying to make pipelines more debuggable… now -[VOPipeline describe] will show the state of the entire pipeline, including the current value at each stage. Nice.

The mechanism of having the listener return its current value in -addListener, and the way it’s used in creating a pipeline, now seems a little suspect. I need to think through this some more.
Minor refactor.