You're going to want these bug fixes.
- Replaced eager update with update-on-binding. This prevents a stack overflow when the view model is self-referential.
- Guarded against reentrancy. This keeps a reaction to a PropertyChanged event from looking like user input.
- Stopped using WeakReferences. In certain situations, updates would stop after a few cycles.