anchor.diff:      } else {
         _pending = true;
       }
  +    _inputChangedHandle.fireEvent(EventArgs.empty);
     }
   
     TOutput get output() => _output;
   
  -  EventRoot<EventArgs> get outputChanged() =>
  -      _outputChangedHandle;
  +  EventRoot<EventArgs> get outputChanged() => _outputChangedHandle;
  +  EventRoot<EventArgs> get inputChanged() => _inputChangedHandle;
   
     abstract Future<TOutput> getFuture(TInput value);
   
  
positive.code: // TODO: real tests
  class SlowMapper<TInput, TOutput> {
    SlowMapper() :
      _outputChangedHandle = new EventHandle<EventArgs>();
  
    TInput get input() => _input;
  
  
negative.code:   bool _pending = false;
  
    final EventHandle<EventArgs> _outputChangedHandle;
    final EventHandle<EventArgs> _inputChangedHandle;
  }
  