anchor.diff:      } else if (ref.annotation is Component) {
         assert(ref == componentData.ref);
   
  -      nodeModule.bindByKey(ref.typeKey, toFactory: componentData.factory.call(node), visibility: visibility);
  +      nodeModule.bindByKey(ref.typeKey, inject: const [Injector],
  +          toFactory: componentData.factory.call(node), visibility: visibility);
       } else {
         nodeModule.bindByKey(ref.typeKey, visibility: visibility);
       }
  
positive.code:   void _createDirectiveFactories(DirectiveRef ref, nodeModule, node, nodesAttrsDirectives, nodeAttrs,
                                   visibility) {
      if (ref.type == TextMustache) {
        nodeModule.bind(TextMustache, toFactory: (Injector injector) => new TextMustache(
                node, ref.valueAST, injector.getByKey(SCOPE_KEY)));
      } else if (ref.type == AttrMustache) {
        if (nodesAttrsDirectives.isEmpty) {
          nodeModule.bind(AttrMustache, toFactory: (Injector injector) {
  
negative.code:         ..bindByKey(NODE_ATTRS_KEY, toValue: nodeAttrs);
  
      if (_config.elementProbeEnabled) {
        nodeModule.bindByKey(ELEMENT_PROBE_KEY, inject: const [], toFactory: () => probe);
      }
  
      directiveRefs.forEach((DirectiveRef ref) {
  