anchor.diff:  %% Description: Starts the server
   %%--------------------------------------------------------------------
   start_link() ->
  +	gen_event:start({local, sm_msg_man}),
  +
  +	gen_event:add_handler(sm_msg_man, terminal_logger, []),
  +
   	gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
   
   stop() ->
  -	gen_server:cast(?MODULE, stop).
  +	gen_server:cast(?MODULE, stop),
  +	gen_event:stop(sm_msg_man).
   
   %%====================================================================
   
  
positive.code: %% Description: Handling all non call/cast messages
  %%--------------------------------------------------------------------
  handle_info({'EXIT', Pid, Reason}, State) ->
  	io:format("Received an exit signal from ~p with the reason: ~p~n", [Pid, Reason]),
  	{noreply, State}.
  
  %%--------------------------------------------------------------------
  
negative.code: %% Description: Handling call messages
  %%--------------------------------------------------------------------
  handle_call({new_P, Mod, Func, Args}, _From, State) ->
  	gen_event:notify(sm_msg_man, {"Creating new Process from module ~p", [Mod]}),
  	Pid = spawn_link(Mod, Func, Args),
  	gen_event:notify(sm_msg_man, {"Adding new process ~p", [Pid]}),
  
  	NewProcesses = [Pid|State#sm_data.processes],
  	NewState = State#sm_data{processes = NewProcesses},
  