anchor.diff:  
   library uix.src.misc.css_transition_container;
   
  +import 'dart:collection';
   import 'dart:html' as html;
  +import '../assert.dart';
   import '../env.dart';
   import '../container.dart';
   import '../vcontext.dart';
   import '../vnode.dart';
   
  +class _CssTransitionNode {
  +  static const int normal = 0;
  +  static const int enter = 1;
  +  static const int leave = 2;
  +
  +  int state = enter;
  +  VNode node;
  +  html.Element element;
  +
  +  _CssTransitionNode(this.node, this.element);
  +}
  +
   /// *EXPERIMENTAL* class for group transitions
  -/// (doesn't work properly, proof of concept)
   abstract class CssTransitionContainer implements Container {
     html.Element get element;
  +
  +  HashMap<Object, _CssTransitionNode> _nodes = new HashMap<Object, _CssTransitionNode>();
  +  HashMap<html.Element, Object> _nodeKeys = new HashMap<html.Element, Object>();
   
     void initTransitionListeners() {
       element.onTransitionEnd.listen(_handleTransitionEnd);
  
positive.code: 
    void updateChild(VNode container, VNode aNode, VNode bNode) {
      aNode.update(bNode, (this as VContext));
    }
  }
  
negative.code:     node.render((this as VContext));
  
      final e = (node.ref as html.Element);
      _nodes[node.key] = new _CssTransitionNode(node, e);
      _nodeKeys[e] = node.key;
  
      e.classes.add('enter');
      scheduler.currentFrame.read().then((_) {
        e.getComputedStyle().transform;
  