anchor.diff:  		entities = Entities,
   		incoming_updates = Updates
   	} = State,
  -	
  +
   	{NewEntities2, OutgoingUpdates2} = lists:foldl(
   		fun(Entity, {NewEntities1, OutgoingUpdates1}) ->
  -			IncomingEntityUpdates = dict:fetch(Entity#entity.id, Updates),
  +			IncomingEntityUpdates = dict:find(Entity#entity.id, Updates),
   
   			% Wrap return_result, passing the new entities and outgoing updates lists.
   			ReturnResult = fun(BehaviorFuncResult, Context) ->
  
positive.code: 
  			% First, apply any incoming updates.
  			Entity1 = case IncomingEntityUpdates of
  				[] -> Entity;
  				_ -> entity_behavior:apply_updates(lists:flatten(IncomingEntityUpdates), Entity)
  			end,
  
  			% Then, call simulate.
  
negative.code: 	end,
  
  	% Restart the simulation timer
  	erlang:send_after(NextInterval, self(), {self(), simulate}),
  
  	State2 = State1#state {
  		last_simulate = Start
  	},
  
      {noreply, State2};
  
  handle_msg({add_entity, NewEntity}, _From, State) ->
  	?info("pre_entity_engine_worker[~p]: adding entity ~p", [self(), NewEntity]),
  	Entities = State#state.entities,
  	State1 = State#state {
  		entities = [NewEntity | Entities]
  	},
  	{noreply, State1};
  
  handle_msg({updates, NewUpdates}, _From, State) ->
  	#state {
  