anchor.diff:  
   -record(state, {
             nodes = [{node(), alive}] :: [{node(), term()}],
  -          tasks = [] :: [task()]
  +          tasks = dict:new() :: dict:dict(task_name(), {schedule(), detail()})
            }).
   
   -type task_name() :: binary().
   %% TODO: specifies the proprietary schedule time format.
   -type schedule() :: term().
   -type detail() :: binary().
  --type task() :: dict:dict(task_name(), {schedule(), detail()}).
   
   %%%===================================================================
   %%% API
  
positive.code: %%% @spec add_task(task_name()) -> term()
  %%% @end
  -spec add_task(task_name(), schedule(), detail()) -> term().
  add_task(Task, Schedule, Detail) -> gen_server:call(?SERVER, {add, Task, Schedule, Detail}).
  
  %%% @doc
  %%% Cancels the task
  
negative.code: %%% @spec cancel_task(task_name()) -> term().
  %%% @end
  -spec cancel_task(task_name()) -> term().
  cancel_task(Task) -> 
      gen_server:call(?SERVER, {cancel, Task}).
  
  %%% @doc
  %%% Shows the registered schedule of the task.
  