anchor.diff:  
     componentWillMount() {
       subscriptions = new List();
  -    
  +
       subscriptions.add(selected.onChange.listen((_) => redraw()));
       subscriptions.add(loading.onChange.listen((_) => redraw()));
       subscriptions.add(active.onChange.listen((_) => redraw()));
  
positive.code: 
      checkSetScrollStepRedraw(_scrollStep, _scrollListDiv);
    }
    
    num getMinMarginLeft() {
      var _itemSpan = ref(items[0].toString());
      var _spanWidth = _itemSpan.marginEdge.width;
      var _visibleItemsWindowSize = scrollStep * _spanWidth;
      
      return (0 - _spanWidth * items.length + _visibleItemsWindowSize); 
    }
    
    setScrollStepSize() {
      var _itemsDivWindowSize = ref('itemsDiv').marginEdge.width;
  
  
negative.code:       scrollStep = 16;
      }
    }
  
    checkSetScrollStepRedraw(_scrollStep, _scrollListDiv){
      if (_scrollStep > 0){
        _scrollStep = 0;
      }
  
      if (_scrollStep < getMinMarginLeft()) {
        _scrollStep = getMinMarginLeft();
      }
      _scrollListDiv.style.marginLeft = '${_scrollStep}px';
      redraw();
    }
  }
  