anchor.diff:  	%TODO: Compare OldEntState to the current entity's state. If the match, we then update to NewEntState. Otherwise, we
   	% error.
   	NewState = State#state {
  -		entities = lists:delete(EntityID, some_val, Entities)
  +		entities = lists:store(EntityID, #entity{}, Entities)
   	},
       {reply, ok, NewState};
   
  
positive.code: 	gen_server:call({update, EntityID, OldState, NewState}).
  
  %% --------------------------------------------------------------------------------------------------------------------
  %% gen_server
  %% --------------------------------------------------------------------------------------------------------------------
  
  
negative.code: %%% @doc The entity simulation engine.
  %%%
  %%% This module is designed to be the heart of our entity simulation engine. It holds on to a dictionary of entities,
  %%% and every simulation interval it runs through all of it's entities, and calls `simulate` on their behaviors. The only
  %%% other thing it does is to provide behaviors a simple way to inform any watchers that something has changed in the
  %%% entity's state. It's not in charge of maintaining that list; it's just the one who sends the messages.
  %%%
  %%% --------------------------------------------------------------------------------------------------------------------
  
  
  -module(pre_entity_engine).
  -behavior(gen_server).
  
  -include("log.hrl").
  -include("pre_entity_new.hrl").
  
  % API
  -export([start_link/1]).
  -export([add_entity/1, remove_entity/1, update_entity_state/3]).
  -export([add_watcher/2, remove_watcher/2, send_to_watchers/2]).
  
  % gen_server
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
  
  % Simulation interval
  -define(INTERVAL, 17). % 1/60th of a second.
  
  -record(state, {
  	entities :: dict()
  