anchor.diff:    SparkButton _button;
     SparkOverlay _overlay;
     SparkMenu _menu;
  +  bool _mouseDownOpened;
   
     SparkMenuButton.created(): super.created();
   
  
positive.code:     assert(buttonCont.getDistributedNodes().isNotEmpty);
      _button = buttonCont.getDistributedNodes().first;
      _button
          ..onClick.listen(clickHandler)
          ..onFocus.listen(focusHandler)
          ..onBlur.listen(blurHandler);
  
negative.code:     }
    }
  
    void _mouseDownHandler(Event e) {
      _mouseDownOpened = opened;
    }
  
    void clickHandler(Event e) => _toggle(!_mouseDownOpened);
  
    void focusHandler(Event e) => _toggle(true);
  
    void blurHandler(FocusEvent e) {
      var target = e.relatedTarget;
  