anchor.diff:                  manifest :: term(),
                   blocks_left :: list(),
                   get_module :: module()}).
  +
  +%% ===================================================================
  +%% Public API
  +%% ===================================================================
   
   start_link(From, Bucket, Key) ->
       gen_fsm:start_link(?MODULE, [From, Bucket, Key], []).
  
positive.code:     end,
      lists:foreach(Func, BlockKeys).
  
  %% @private
  handle_event(_Event, _StateName, StateData) ->
      {stop,badmsg,StateData}.
  
negative.code: %% @private
  code_change(_OldVsn, StateName, State, _Extra) -> {ok, StateName, State}.
  
  %% ===================================================================
  %% Test API
  %% ===================================================================
  
  -ifdef(TEST).
  
  test_link(From, Bucket, Key) ->
  