                                 :target-id-path-index (dec (count target-id-path))
                                 :evolve-reason-provider evolve-reason-provider
                                 :_initialization initialization)
+            target-evolvers (:evolvers target-component)
              ps-count (count properties-to-evolve)]
         (loop [ pi 0
                 tgt target-component

                             has-changes-raw (not (= old-value new-value))
                             has-changes has-changes-raw ;(or initialization has-changes-raw)

                             new-aux-with-consume (if (evolve-reason-provider nil)
                                                    (assoc!
                                                      aux-with-evolved-dependencies
                                                      :consumed
                                                      (or (:consumed aux-with-evolved-dependencies) ((:consumes? tgt) tgt)))
                                                    aux-with-evolved-dependencies)

                             new-aux (if has-changes

                aux aux-container]
          (if (< pi ps-count)
                  (let [p (nth properties-to-evolve pi)
                        evolver (p target-evolvers)]
                    (if (or initialization evolver)
                      (let [;; Remember: cannot use get in :evolved-properties check because of http://dev.clojure.org/jira/browse/CLJ-700
                            ;; We don track :children change during initialization. Current implementation of initialization
