anchor.diff:      ets:delete(State#state.unpack_state, Reference),
       {noreply, State#state{queued=Preparing}};
   handle_info(schedule, State) when State#state.master_pid == none ->
  +    error_logger:info_msg("trying to register self~n"),
       case catch caterpillar_event:register_worker(caterpillar_builder, State#state.wid) of
           {ok, Pid} ->
  +            error_logger:info_msg("registered worker at ~p~n", [Pid]),
               erlang:monitor(process, Pid),
               {noreply, State#state{master_pid=Pid}};
           Other ->
  
positive.code:     {noreply, State}.
  
  handle_info({'DOWN', _, _, Pid, _}, State) when Pid == State#state.master_pid ->
      {noreply, State#state{master_pid=none}};
  handle_info({'DOWN', Reference, _, _, Reason}, State) ->
      Preparing = case Reason of
  
negative.code: -spec schedule_build(State :: #state{}) -> {ok, NewState :: #state{}}.
  schedule_build(State) when State#state.next_to_build == none ->
      {ok, NewState} = get_build_candidate(State),
      try_build(NewState);
  schedule_build(State) ->
      try_build(State).
  
  
  