anchor.diff:  
   tell_subscribers(Subs, Event, Msg) ->
       lists:foreach(
  -      fun({P, E}) when E =:= Event ->
  +      fun({P, E}) when E =:= Event, is_pid(P) ->
                 P ! Msg;
            (_) ->
                 ok
         end, Subs).
   
   set_subscriptions() ->
  -    [aec_events:subscribe(E) || E <- events()],
  -    ok.
  +    Es = events(),
  +    [aec_events:subscribe(E) || E <- Es],
  +    Es.
  +
  +ensure_markers(Es, Subs) ->
  +    lists:foldl(
  +      fun(E, Acc) ->
  +              case lists:member({marker, E}, Acc) of
  +                  true ->
  +                      Acc;
  +                  false ->
  +                      [{marker, E}|Acc]
  +              end
  +      end, Subs, Es).
   
   events() -> [block_created, chain_sync].
   
  
positive.code:        restart_first]},
       {three_nodes, [sequence],
        [start_first_node,
         mine_on_first,
         start_second_node,
         start_third_node,
  
negative.code: %% test case exports
  -export(
     [
      test_subscription/1,
      start_first_node/1,
      start_second_node/1,
      start_third_node/1,
  