anchor.diff:  %% All State functions
   %% ====================================================================
   
  +handle_event({entity_died, EnemyBcEntity}, StateName, StateData) ->	
  +    {next_state, StateName, StateData};
  +handle_event({entity_damaged, Damage}, StateName, StateData) ->
  +	{next_state, StateName, StateData};
   handle_event(Event, StateName, StateData) ->
  -	
  -    {next_state, StateName, StateData}.
  +  {next_state, StateName, StateData}.
   
   handle_sync_event(Event, From, StateName, StateData) ->
       Reply = ok,
  
positive.code: 					  {entity_died, bc_entity:entity()}) -> ok.
  entity_died(BcAiFsm, EntityDiedEvent) ->
  	gen_fsm:send_all_state_event(BcAiFsm, EntityDiedEvent).
  
  %% ====================================================================
  %% Behavioural functions
  
negative.code: 			_ ->
  				State
  		end,
  	Damage = calculate_damage(BcEntityConfig, 
  							  InRangeEnemyBcEntity, 
  							  BcEntityConfig),
  	%% TODO calculate attack speed and publish attacking event
  	{next_state, attacking, UpdatedState}.
  
  calculate_damage(BcEntityConfig, EnemyBcEntity, BcEntities) ->
  	EnemyEntityType = bc_entity:entity_type(EnemyBcEntity),
  	{ok, EnemyBcEntityConfig} = bc_entities:entity_config(EnemyEntityType),
  	10.
  
  dist_entities(#state{entity = BcEntity} = State) ->
  	NearbyBcEntities = nearby_entities(State),
  