anchor.diff:    }
     
     void addCallback(String callbackMethod, void callbackHandler(String jsonData)) {
  -    _injectScript(callbackMethod);
  -    
  -    if (isInitialized) context['_iop_${_currentId}_$callbackMethod'] = (String value) => callbackHandler(value);
  +    if (_isInitialized) {
  +      if (!_callbacks.contains(callbackMethod)) {
  +        _callbacks.add(callbackMethod);
  +        
  +        _injectScript(callbackMethod);
  +              
  +        context['_iop_${_currentId}_$callbackMethod'] = (String value) => callbackHandler(value);
  +      }
  +    }
       else {
         if (_pendingCallbacks == null) _pendingCallbacks = <String, Function>{};
         
  
positive.code:   
    String _currentId;
    Map<String, Function> _pendingCallbacks;
  
    //---------------------------------
    //
  
negative.code:     }
    }
    
    void send(String exposedFlashMethod, String value, {String callbackMethod, void callbackHandler(String jsonData)}) {
      final bool expectsCallback = ((callbackMethod != null) && (callbackHandler != null));
      
      if (expectsCallback) addCallback(
          callbackMethod,
          callbackHandler
      );
      
      try {
        context.callMethod('_iop_${_currentId}_writeExternal', [exposedFlashMethod, value]);
      } catch (error) {
  