anchor.diff:           prepare/2,
            waiting_value/2,
            waiting_metadata_request/3,
  -         waiting_chunk_command/2,
  +         waiting_chunk_request/3,
  +         waiting_continue_or_stop/2,
            waiting_chunks/2,
  +         waiting_chunks/3,
  +         sending_remaining/3,
            handle_event/3,
            handle_sync_event/4,
            handle_info/3,
  
positive.code: get_metadata(Pid) ->
      gen_fsm:sync_send_event(Pid, get_metadata).
  
  %% ====================================================================
  %% gen_fsm callbacks
  %% ====================================================================
  
  init([From, Bucket, Key]) ->
      State = #state{from=From, bucket=Bucket, key=Key,
                     get_module=riak_moss_riakc},
      %% purposely have the timeout happen
      %% so that we get called in the prepare
      %% state
      {ok, prepare, State, 0};
  init([test, From, Bucket, Key]) ->
      State = #state{from=From, bucket=Bucket, key=Key,
                     get_module=riak_moss_dummy_gets},
      %% purposely have the timeout happen
      %% so that we get called in the prepare
      %% state
      {ok, prepare, State, 0}.
  
  %% TODO:
  %% could this func use
  
negative.code: -export([start_link/3,
           stop/1,
           continue/1,
           get_metadata/1,
           get_next_chunk/1]).
  
  %% exported to be used by
  %% spawn_link
  