see dart:core documentation
@override void operator []=(int index, E val) { value[index] = val; emit(); return; }