anchor.diff:              %% chunk events
               BlockKeys = riak_moss_lfs_utils:initial_block_keynames(Manifest),
               BlocksLeft = sets:from_list([X || {X, _} <- BlockKeys]),
  -            spawn_link(?MODULE, blocks_retriever, [self(), BlockKeys]),
  +            spawn_link(?MODULE, blocks_retriever, [self(), GetModule, BlockKeys]),
               {next_state, waiting_chunks, State#state{blocks_left=BlocksLeft}};
           _ ->
               %% we don't actually have to start
  
positive.code: 
  waiting_chunk_command({stop, _}, State) ->
      {stop, normal, State};
  waiting_chunk_command({continue, _}, #state{from=From, value_cache=CachedValue, manifest=Manifest}=State) ->
      case CachedValue of
          undefined ->
              %% TODO:
  
negative.code: %% @doc Retrieve the value at
  %%      Bucket, Key, whether it's a
  %%      manifest or regular object
  normal_retriever(ReplyPid, GetModule, Bucket, Key) ->
      {ok, RiakObject} = GetModule:get_object(Bucket, Key),
      riak_object(ReplyPid, RiakObject).
  
  blocks_retriever(Pid, GetModule, BlockKeys) ->
      Func = fun({ChunkSeq, ChunkName}) ->
          %% TODO:
          %% replace the chunk_bucket
          %% with a real bucket name
          {ok, Value} = GetModule:get_object(<<"filebucket">>, ChunkName),
          chunk(Pid, ChunkSeq, Value)
      end,
      lists:foreach(Func, BlockKeys).
  