It seems I've found a nasty bug in 2.0-M5. When setValue(newVal) is called on SimpleVar, it updates the field value on SimpleVar, then calls invalidate() from its super class ValBase. This in turn notifies all Observers using its own field value. But the later only gets updated on getValue(), which was never called.
Maybe I'm missing something here. I don't get that AccuMap thing (yet). I'll try to come up with a test case later.