anchor.diff:  
     void _init() {
       element.add(_table);
  +
  +    // handle hey events
       _table.onKeyDown.listen((KeyboardEvent e) {
         int indexOffset;
  +      // TODO(dantup): PgUp/PgDown/Home/End?
         if (e.keyCode == KeyCode.UP) {
           indexOffset = -1;
         } else if (e.keyCode == KeyCode.DOWN) {
           indexOffset = 1;
  -        // TODO(dantup): PgUp/PgDown/Home/End?
  -      } else {
  +      }
  +
  +      if (indexOffset == null) {
           return;
         }
   
  
positive.code:       // Set a flag to ensure we don't schedule rebuilds if there's already one
        // in the queue.
        _hasPendingRebuild = true;
        setState(() {
          _hasPendingRebuild = false;
          _rebuildTable();
  
negative.code: 
  import 'dart:async';
  import 'dart:html';
  
  import 'package:meta/meta.dart';
  
  