anchor.diff:    final HtmlElement _dialogContainer = new DivElement()..classes.add('dialogs');
     final HtmlElement _optionsContainer = new UListElement()
       ..classes.add('options');
  +
  +  var _domQueue = new Queue<Function>();
   
     SimpleHtmlUi(this._container, OptionsUi options) {
       _container.children.addAll([_optionsContainer, _dialogContainer]);
  
positive.code: library august.ui.html;
  
  import 'dart:html';
  
  import 'package:august/options.dart';
  
  
negative.code:       });
  
        o.onUnavailable.first.then((o) {
          _beforeNextPaint(() {
            _optionsContainer.children.removeWhere(
                (e) => e.children[0].attributes['name'] == _toId(o.text));
          });
        });
      });
    }
  
    // TODO: not sure if this is really helping anything
    _beforeNextPaint(void domUpdate()) {
      _domQueue.add(domUpdate);
      window.animationFrame.then((_) {
        while (_domQueue.isNotEmpty) {
          _domQueue.removeFirst()();
        }
      });
    }
  }
  
  // DivElement _getDialogElement(DialogEvent e, DialogInterface dialog) {
  