anchor.diff:      {ok, ChannelsSup} = smc_channels_sup:start_link(),
   
       % TODO: use a real process here and have a supervisor
  -    WriterPid = spawn(fun task_queue_runner/0),
  +    WriterPid = spawn(?MODULE, task_queue_runner, []),
   
       % TODO: calculate based on number of buckets
       BucketEvictTimeInterval = application:get_env(iorio, bucket_evict_time_ms, 60000),
  
positive.code:                 catch T:E -> lager:warning("error running task ~p ~p", [T, E])
                  after task_queue_runner()
                  end
      end.
  
  list_dir(Path) ->
  
negative.code: 
  -export([writer/1, partition/1, is_empty/1, base_path/0, path/1,
          free_resources/1, have_bucket/2, foldl_gblobs/3, get_bucket/2,
          maybe_evict/2, remove_channel/2, task_queue_runner/0]).
  
  -record(state, {partition,
                  path,
  