Only raise change events when the ‘rows’ property changes.
ISSUE 2:  Fix emit() calls mapping to the wrong ids.  This was causing rows.nextRow() to return the incorrect row.
When running current run-loop use run instead of runMode:beforeDate:.  This behaves a bit better and will do the same thing.
Update example with fixes from Issue #2.