anchor.diff:      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};
  +    {next_state, NextStatus, State#state{status = ?ST_IDLING}, ?DEF_TIMEOUT};
   
   idling(#event_info{event = ?EVENT_INCR},
          #state{mq_properties = #mq_properties{regular_batch_of_msgs = BatchOfMsgs,
  
positive.code:              {next_state, ?ST_SUSPENDING, State} when EventInfo::#event_info{},
                                                        State::#state{}).
  suspending(#event_info{event = ?EVENT_RUN}, State) ->
      NextStatus = ?ST_SUSPENDING,
      {next_state, NextStatus, State#state{status = NextStatus}, ?DEF_TIMEOUT};
  
  suspending(#event_info{event = ?EVENT_STATE}, State) ->
      NextStatus = ?ST_SUSPENDING,
      {next_state, NextStatus, State#state{status = NextStatus}, ?DEF_TIMEOUT};
  
  suspending(#event_info{event = ?EVENT_INCR},
             #state{id = Id,
  
negative.code:                                          status = NextStatus}, ?DEF_TIMEOUT};
  
  running(_, State) ->
      {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{status = Status} = State) ->
      gen_fsm:reply(From, {ok, Status}),
      {next_state, ?ST_RUNNING, State#state{status = ?ST_RUNNING}, ?DEF_TIMEOUT};
  running(_, From, State) ->
      gen_fsm:reply(From, {error, badstate}),
      {next_state, ?ST_RUNNING, State#state{status = ?ST_RUNNING}, ?DEF_TIMEOUT}.
  
  
  %% @doc State of 'suspend'
  