Not critical, but one of my favorite aspects of Dart is the methods available on List and Iterable. So, this method could be re-written as:

    return _rows.where((row) => row.expanded).map((row) => row.nodeUID).toList();

I end up using `map` and `join` quite a bit.