anchor.diff:      %% Chunk sets for pieces
       chunks_assigned :: array(),
       chunks_stored   :: array(),
  -    %% Chunks assigned to peers
  -    peer_monitors   :: monitorset(),
       %% Piece priority lists
       prio_begun :: #pieceprio{},
  -    prio_unassigned :: #pieceprio{}}).
  +    prio_unassigned :: #pieceprio{},
  +    %% Chunk assignment process
  +    pending :: etorrent_pending:originhandle()}).
   
   %% # Open requests
   %% A gb_tree mapping {PieceIndex, Offset} to Chunklength
  
positive.code:                 true  -> update_priority(TorrentID, PrioBegun, NewBegun)
              end,
  
  
              NewState = State#state{
                  pieces_unassigned=NewUnassigned,
                  pieces_begun=NewBegun,
                  pieces_assigned=NewAssigned,
                  chunks_assigned=NewAssignedChunks,
                  peer_monitors=NewPeers,
                  prio_unassigned=NewPrioUnassigned,
                  prio_begun=NewPrioBegun},
              ReturnValue = [{Index, Offs, Len} || {Offs, Len} <- Chunks],
              {reply, {ok, ReturnValue}, NewState}
      end;
  
  handle_call({mark_valid, _, Index}, _, State) ->
  
negative.code: init([TorrentID, ChunkSize, FetchedPieces, PieceSizes, InitTorrentPid]) ->
      etorrent_scarcity:await_scarcity_server(TorrentID),
      true = register_chunk_server(TorrentID),
      Pending = etorrent_pending:originhandle(),
  
      NumPieces = length(PieceSizes),
      PiecesValid = etorrent_pieceset:from_list(FetchedPieces, NumPieces),
  