anchor.diff:  
     final List<String> _urlList;
     final EventHandle<EventArgs> _loadedEvent;
  +  final EventHandle<EventArgs> _progressEvent;
     final Map<String, T> _resources;
     final Set<String> _completed;
   
  
positive.code:     _completed.add(uri);
  
      if(_completed.length == _urlList.length) {
        _loadedEvent.fireEvent(EventArgs.empty);
      }
    }
  
  
negative.code: 
    ResourceLoader(this._urlList) :
      _loadedEvent= new EventHandle<EventArgs>(),
      _progressEvent = new EventHandle<EventArgs>(),
      _resources = new Map<String, T>(),
      _completed = new Set<String>();
  
    int get completedCount => _completed.length;
  
    String get state => _state;
  
    EventRoot get loaded => _loadedEvent;
  
    EventRoot get progress => _progressEvent;
  
    T getResource(String url) => _resources[url];
  
  