anchor.diff:  %% @spec handle_info(Info, State) -> {noreply, State} |
   %%                                       {noreply, State, Timeout} |
   %%                                       {stop, Reason, State}
  +%% @doc Handle timer ticks
  +handle_info({tick, Msg}, State) ->
  +    spawn(fun() -> ?MODULE:notify(Msg, State#state.context) end),
  +    flush_info_message({tick, Msg}),
  +    {noreply, State};
  +    
   %% @doc Handling all non call/cast messages
   handle_info(_Info, State) ->
       {noreply, State}.
  
positive.code: %%                     ignore               |
  %%                     {stop, Reason}
  %% @doc Initiates the server, creates a new observer list
  init(_Args) ->
      State = #state{observers=dict:new()},
      {ok, State}.
  
  
  
negative.code: %% terminate. It should be the opposite of Module:init/1 and do any necessary
  %% cleaning up. When it returns, the gen_server terminates with Reason.
  %% The return value is ignored.
  terminate(_Reason, State) ->
      [ timer:cancel(TRef)  || {ok, TRef} <- State#state.timers ],
      ok.
  
  %% @spec code_change(OldVsn, State, Extra) -> {ok, NewState}
  