anchor.diff:                                           status = NextStatus}, ?DEF_TIMEOUT};
   
   running(_, State) ->
  -    NextStatus = ?ST_RUNNING,
  -    {next_state, NextStatus, State#state{status = NextStatus}, ?DEF_TIMEOUT}.
  +    {next_state, ?ST_RUNNING, State#state{status = ?ST_RUNNING}, ?DEF_TIMEOUT}.
   
   -spec(running( _, _, #state{}) ->
                {next_state, ?ST_RUNNING, #state{}}).
  -running(#event_info{event = ?EVENT_STATE}, From, State) ->
  -    NextStatus = ?ST_RUNNING,
  -    gen_fsm:reply(From, {ok, NextStatus}),
  -    {next_state, NextStatus, State, ?DEF_TIMEOUT};
  +running(#event_info{event = ?EVENT_STATE}, From, #state{status = Status} = State) ->
  +    gen_fsm:reply(From, {ok, Status}),
  +    {next_state, ?ST_RUNNING, State#state{status = ?ST_RUNNING}, ?DEF_TIMEOUT};
   running(_, From, State) ->
  -    NextStatus = ?ST_RUNNING,
       gen_fsm:reply(From, {error, badstate}),
  -    {next_state, NextStatus, State, ?DEF_TIMEOUT}.
  +    {next_state, ?ST_RUNNING, State#state{status = ?ST_RUNNING}, ?DEF_TIMEOUT}.
   
   
   %% @doc State of 'suspend'
  
positive.code:                                                             batch_of_msgs = BatchOfMsgs,
                                                              interval = Interval} = State) ->
      gen_fsm:reply(From, ok),
      NextStatus = ?ST_RUNNING,
      ok = run(Id),
      ok = leo_mq_publisher:update_consumer_stats(PublisherId, NextStatus, BatchOfMsgs, Interval),
      {next_state, NextStatus, State#state{status = NextStatus}, ?DEF_TIMEOUT};
  suspending(#event_info{event = ?EVENT_STATE}, From, State) ->
      NextStatus = ?ST_SUSPENDING,
      gen_fsm:reply(From, {ok, NextStatus}),
      {next_state, NextStatus, State#state{status = NextStatus}, ?DEF_TIMEOUT};
  suspending(_Other, From, State) ->
      NextStatus = ?ST_SUSPENDING,
      gen_fsm:reply(From, {error, badstate}),
      {next_state, NextStatus, State, ?DEF_TIMEOUT}.
  
  
  %%--------------------------------------------------------------------
  
negative.code:     {ok, {StepBatchOfMsgs, StepInterval}} = ?step_comsumption_values(MQProps),
      BatchOfMsgs_1 = decr_batch_procs_fun(BatchOfMsgs, StepBatchOfMsgs),
      Interval_1 = incr_interval_fun(Interval, MaxInterval, StepInterval),
      {next_state, ?ST_IDLING, State#state{status = ?ST_IDLING,
                                           batch_of_msgs = BatchOfMsgs_1,
                                           interval = Interval_1}, ?DEF_TIMEOUT};
  idling(_, State) ->
      {next_state, ?ST_IDLING, State#state{status = ?ST_IDLING}, ?DEF_TIMEOUT}.
  
  
  %% @doc State of 'running'
  