anchor.diff:  
   add_task(Type, TaskName, StatusText) ->
       put(task_status_update, {{0, 0, 0}, 0}),
  +    Ts = now_ts(),
       Msg = {
           add_task,
  -        to_binary(Type),
  -        to_binary(TaskName),
  -        to_binary(StatusText)
  +        #task_status{
  +            type = to_binary(Type),
  +            name = to_binary(TaskName),
  +            status = to_binary(StatusText),
  +            start_ts = Ts,
  +            update_ts = Ts
  +        }
       },
       gen_server:call(?MODULE, Msg).
   
  
positive.code: handle_call(all, _, Server) ->
      All = [
          [
              {type, Type},
              {task, Task},
              {status, Status},
              {pid, ?l2b(pid_to_list(Pid))}
          ]
          ||
          {Pid, {Type, Task, Status}} <- ets:tab2list(?MODULE)
      ],
      {reply, All, Server}.
  
  
  handle_cast({update_status, Pid, StatusText}, Server) ->
      [{Pid, {Type, TaskName, _StatusText}}] = ets:lookup(?MODULE, Pid),
      ?LOG_DEBUG("New task status for ~s: ~s",[TaskName, StatusText]),
      true = ets:insert(?MODULE, {Pid, {Type, TaskName, StatusText}}),
      {noreply, Server};
  handle_cast(stop, State) ->
      {stop, normal, State}.
  
negative.code:     ok.
  
  
  handle_call({add_task, TaskStatus}, {From, _}, Server) ->
      case ets:lookup(?MODULE, From) of
      [] ->
          true = ets:insert(?MODULE, {From, TaskStatus}),
          erlang:monitor(process, From),
          {reply, ok, Server};
      [_] ->
  