anchor.diff:  no_action(action_complete, State) ->
   	{next_state, no_action, State}.
   
  -standing(action_complete, State) ->
  -	move(down, State).
  +standing(action_complete, #state{entity_config = BcEntityConfig, 
  +								 entities = BcEntities} = State) ->
  +	case move(down, State) of
  +		{ok, UpdatedBcEntity} ->
  +			EntitiesEventPid = bc_entities:event(BcEntities),
  +			gen_event:notify(EntitiesEventPid, {entity_moved, UpdatedBcEntity}),
  +			MoveSpeed = bc_entity_config:move_speed(BcEntityConfig),
  +			MoveDelay = 1000 - (1000 * MoveSpeed),
  +			TimerRef = gen_fsm:send_event_after(MoveDelay, action_complete),
  +			{next_state, moving, State#state{entity = UpdatedBcEntity,
  +											 timer = TimerRef}};
  +		{error, _} ->
  +			sense(State)
  +	end.
   
   moving(action_complete, State) ->
   	%% TODO move and publish event
   	{next_state, standing, State}.
  +
  +%% ====================================================================
  +%% All State functions
  +%% ====================================================================
   
   handle_event(Event, StateName, StateData) ->
       {next_state, StateName, StateData}.
  
positive.code: -behaviour(gen_fsm).
  
  -export([init/1, 
  		 state_name/2, 
  		 state_name/3, 
  		 handle_event/3, 
  		 handle_sync_event/4, 
  		 handle_info/3, 
  
negative.code: handle_sync_event(Event, From, StateName, StateData) ->
      Reply = ok,
      {reply, Reply, StateName, StateData}.
  
  %% ====================================================================
  %% Gen_* functions
  %% ====================================================================
  
  handle_info(Info, StateName, StateData) ->
      {next_state, StateName, StateData}.
  