anchor.diff:  handle_cast({client_event, EntityID, Channel, EventType, Event}, State) ->
   	Entities = State#state.entities,
   	Entity = dict:fetch(EntityID, Entities),
  -	NewState = call_behavior_func(Entity, client_event, [Entity, Channel, EventType, Event], State),
  -    {noreply, NewState};
  +	call_behavior_func(Entity, client_event, [Entity, Channel, EventType, Event], State);
   
   handle_cast({send_entity, EntityID, TargetNode}, State) ->
   	Entities = State#state.entities,
  
positive.code: 
  call_behavior_func(#entity{} = Entity, Func, Args, State) ->
  	case call_behavior_func(Entity, Func, Args) of
  		{Reply, NewEntity1} ->
  			{Reply, update_entity_state(NewEntity1, State)};
  		NewEntity2 ->
  			update_entity_state(NewEntity2, State)
  	end;
  
  call_behavior_func(EntityID, Func, Args, State) ->
  
negative.code: 	% Call the behavior
  	try apply(Behavior, Func, Args) of
  		{undefined, NewEntity1} ->
  			{noreply, NewEntity1};
  
  		{Update1, NewEntity2} ->
  			send_update(ClientInfo, EntityID, Update1),
  			{noreply, NewEntity2};
  
  		{Reply1, undefined, NewEntity3} ->
  			{reply, Reply1, NewEntity3};
  
  		{Reply2, Update2, NewEntity4} ->
  			send_update(ClientInfo, EntityID, Update2),
  			{reply, Reply2, NewEntity4}
  
  	catch
  		Exception ->
  