anchor.diff:  
   %% API
   -export([start_link/3,
  -         activate/1,
  -         execute/1 %% for debug
  +         inactivate/1,
  +         activate/1
           ]).
   
   %% gen_server callbacks
  
positive.code: %%                                   {stop, Reason, State}
  %% @end
  %%--------------------------------------------------------------------
  handle_info(trigger_task, State = #state{ name = Name, status = inactivated }) ->
      lager:debug("Not Activated Task: ~ts", [Name]),
      {noreply, State};
  handle_info(trigger_task, State = #state{ status = activated, command = Cmd }) ->
      %% TODO: need notice result to barile server?
      %% TODO: schedule checkes
      case execute_cmd(Cmd) of
          {ok, Output} ->
              lager:debug("Succeed to execute command( ~p ): ~p", [State#state.command, Output]);
          {Reason, Output} ->
              lager:error("Failed to execute command( ~p ): ~p", [State#state.command, Output]);
      end,
      {noreply, State};
  handle_info(_Info, State) ->
      {noreply, State}.
  
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  handle_call({activate}, _From, State) ->
      {reply, ok, State#state{ status = activated }};
  handle_call({inactivate}, _From, State) ->
      {reply, ok, State#state{ status = inactivated }};
  handle_call(_Request, _From, State) ->
      Reply = ok,
      {reply, Reply, State}.
  