anchor.diff:  	NewState = State#state {
   		entities = dict:append(Entity#entity.id, Entity, Entities)
   	},
  +
  +	% Start full update timer
  +	erlang:send_after(?FULL_INTERVAL, self(), {full_update, Entity#entity.id}),
       {reply, ok, NewState};
   
   
  
positive.code: %% @doc Adds a watcher to be notified on updates.
  %%
  %% Adds a watcher pid to the list of watchers for this entity. This always assumes the watcher was correctly added.
  -spec add_watcher(EntityID::binary(), Watcher::pid()) ->
  	ok.
  
  add_watcher(EntityID, Watcher) ->
  	gen_server:cast({add_watcher, EntityID, Watcher}).
  
  %% --------------------------------------------------------------------------------------------------------------------
  
  %% @doc Removes a watcher from the entity..
  %%
  %% Removes a watcher pid from the entity. This always assumes the watcher was correctly removed.
  -spec remove_watcher(EntityID::binary(), Watcher::pid()) ->
  	ok.
  
  remove_watcher(EntityID, Watcher) ->
  	gen_server:cast({remove_watcher, EntityID, Watcher}).
  
  %% --------------------------------------------------------------------------------------------------------------------
  
  
negative.code: 	send_to_watchers(Watchers, Entity#entity.id, State).
  
  %% --------------------------------------------------------------------------------------------------------------------
  %% Client API
  %% --------------------------------------------------------------------------------------------------------------------
  
  %% @doc Passes the client request to the appropriate behavior to be handled.
  %%
  %% This passes a request from the client to the behavior of the entity the client is currently controlling. A response
  %% is always expected.
  -spec client_request(Pid::pid(), EntityID::binary(), Channel::atom(), RequestType::binary(), RequestID::integer(), Request::json()) ->
  	Response::json().
  
  client_request(Pid, EntityID, Channel, RequestType, RequestID, Request) ->
  	gen_server:call(Pid, {request, EntityID, Channel, RequestType, RequestID, Request}).
  
  %% --------------------------------------------------------------------------------------------------------------------
  
  %% @doc Passes the client event to the appropriate behavior to be handled.
  %%
  %% This passes an event from the client to the behavior of the entity the client is currently controlling. No response
  %% is expected.
  -spec client_event(Pid::pid(), EntityID::binary(), Channel::atom(), EventType::binary(), Event::json()) ->
  	Response::json().
  
  client_event(Pid, EntityID, Channel, EventType, Event) ->
  	gen_server:call(Pid, {event, EntityID, Channel, EventType, Event}).
  
  
  %% --------------------------------------------------------------------------------------------------------------------
  %% gen_server
  %% --------------------------------------------------------------------------------------------------------------------
  
  