callback on cell change: newVal argument goes before oldVal