anchor.diff:    Stream<String> _keyStream;
     Stream<int>    _navStream;
     Stream<String> _hotKeyStream;
  +
  +  Map<String, Stream> _streamMemos;
   
     // DOM event types consts
     static const String KEY_PRESS = 'keypress';
  
positive.code:    * in the constructor
     */
    Stream<String> get keyStream {
      if (_keyStream == null) {
        _keyStream = rawKeyCombinedStream.where((key) {
          return (key.type == KEY_PRESS && !key.ctrlKey
              && ( !key.altKey || (allowAltKeyPress && key.altKey))
              && (allowEnterKeyPress || !_ENTER_KEYS.contains(key.keyCode)));
        }).map((key) => new String.fromCharCode(key.charCode));
      }
  
      return _keyStream;
    }
  
    /**
  
negative.code:    * `navKeys` parameter used to construct this object.
     */
    Stream<int> get navStream {
      return _streamMemos.putIfAbsent("nav", () {
        return rawKeyCombinedStream.where((key) {
          return key.type == KEY_DOWN && navKeys.containsKey(key.keyCode);
        }).map((key) => navKeys[key.keyCode]);
      });
    }
  
  
  