anchor.diff:  
       %% 1. start the manifest_fsm proc
       %% 2. start (or pull from poolboy)
  -    %%    blocks gen_servers
  +    %%    blocks gen_servers, and make
  +    %%    sure to monitor them
  +    %%    
       UUID = druuid:v4(),
       Manifest = riak_moss_lfs_utils:new_manifest(Bucket,
                                                   Key,
  
positive.code:     %% timer here, depending on the
      %% state we're in?
      {next_state, StateName, State};
  handle_info(_Info, StateName, State) ->
      {next_state, StateName, State}.
  
  
negative.code: -spec append_data_block(binary(), [binary()]) -> [binary()].
  append_data_block(BlockData, Blocks) ->
      lists:reverse([BlockData | lists:reverse(Blocks)]).
  
  %% @private
  %% @doc Maybe send a message to one of the
  %%      gen_servers to write another block,
  %%      and then return the updated func inputs
  -spec maybe_write_block(term(), term(), term()) -> {term(), term(), term()}.
  maybe_write_block(BufferQueue, FreeWriters, UnackedWrites) ->
      {BufferQueue, FreeWriters, UnackedWrites}.
  
  -spec state_from_block_written(non_neg_integer(), pid(), term()) -> term().
  state_from_block_written(BlockID, WriterPid,
                                  State=#state{unacked_writes=UnackedWrites,
                                               free_writers=FreeWriters,
                                               buffer_queue=BufferQueue}) ->
      NewUnackedSet = ordsets:del_element(BlockID, UnackedWrites),
      NewFreeWriters = ordsets:add_element(WriterPid, FreeWriters),
      %% 3. Maybe write another block
      {NewBufferQueue, NewFreeWriters2, NewUnackedSet2} =
      maybe_write_block(BufferQueue, NewFreeWriters, NewUnackedSet),
      State#state{unacked_writes=NewUnackedSet2,
                  free_writers=NewFreeWriters2,
                  buffer_queue=NewBufferQueue}.
  
  
  
  