anchor.diff:                  | None -> entityState
                   | Some names -> { entityState with Names = names }
   
  -            // try to add entity state to the world
  -            let entity = Entity (group.GroupAddress <-- rtoa<Entity> entityState.Names)
  +            // make entity address
  +            let entityAddress = group.GroupAddress <-- rtoa<Entity> entityState.Names
  +
  +            // make entity reference
  +            let entity = Entity entityAddress
  +
  +            // apply publish bindings state
  +            match World.tryGetKeyedValueFast<UMap<Entity Address, int>> (EntityBindingCountsId, world) with
  +            | (true, entityBindingCounts) -> if UMap.containsKey entityAddress entityBindingCounts then entityState.PublishChangeBindings <- true
  +            | (false, _) -> ()
  +
  +            // apply publish changes state
  +            match World.tryGetKeyedValueFast<UMap<Entity Address, int>> (EntityChangeCountsId, world) with
  +            | (true, entityChangeCounts) -> if UMap.containsKey entityAddress entityChangeCounts then entityState.PublishChangeEvents <- true
  +            | (false, _) -> ()
  +
  +            // apply is parent state
  +            entityState.IsParent <- UMap.containsKey entity world.EntityHierarchy
  +
  +            // add entity's state to world
               let world =
                   if World.getEntityExists entity world then
                       if World.getEntityDestroying entity world
  
positive.code:                     else failwith ("Entity '" + scstring entity + " already exists and cannot be created."); world
                  else world
              let world = World.addEntity false entityState entity world
              
              // propagate properties
              let world =
                  if World.getEntityIsParent entity world then
  
negative.code: 
                  // get old world for entity tree rebuild
                  let oldWorld = world
  
                  // remove entity from hierarchy
                  let parentOpt = World.getEntityParentOpt entity world
                  let world = World.removeEntityFromHierarchy parentOpt entity world
                  
                  // mutate entity tree if entity is selected
                  let world =
  