anchor.diff:  %% @todo The more general variant is at the moment non-functional
   %% @end
   -spec install_callback(pid(), binary(),
  -		       fun(() -> any()) | [{atom(), fun()}]) ->
  -                       ok.
  +                       fun(() -> any()) | [{atom(), fun()}]) ->
  +                              ok.
   install_callback(TorrentPid, IH, Fun) when is_function(Fun, 0) ->
       install_callback(TorrentPid, IH, [{completion, Fun}]);
   install_callback(TorrentPid, IH, EventCallbacks) when is_list(EventCallbacks) ->
       gen_event:call(etorrent_event, ?MODULE,
  -		   {install_callbacks, TorrentPid, IH, EventCallbacks}).
  +                   {install_callbacks, TorrentPid, IH, EventCallbacks}).
   
   %% @doc Install a callback for a specific type of event
   %% @todo This function is not yet working as intended
  
positive.code: 
  %% gen_event callbacks
  -export([init/1, handle_event/2, handle_call/2,
  	 handle_info/2, terminate/2, code_change/3]).
  
  -record(state, { table :: gb_tree(),
  	         monitors :: gb_tree() }).
  
  %%====================================================================
  
  
negative.code: 
  %% @private
  handle_call({install_callbacks, TorrentPid, IH, CBPropList},
              #state { table = T,
                       monitors = M} = S) ->
      NewT = gb_trees:insert(IH, CBPropList, T),
      MRef = erlang:monitor(process, TorrentPid),
      NewM = gb_trees:insert(MRef, IH, M),
  