anchor.diff:              NewState = ScheduledState
       end,
       {noreply, NewState};
  +handle_info({rebuild, Version}, State) ->
  +    erlang:spawn(?MODULE, rebuild, [State#state.build_path, Version, State#state.wid]),
  +    {noreply, State#state{queued=lists:usort([Version|State#state.queued])}};
   handle_info(_Info, State) ->
       {noreply, State}.
   
  
positive.code:     end,
      lists:map(Fun, Archives),
      {noreply, State};
  handle_cast(_Msg, State) ->
      {noreply, State}.
  
  handle_info({'DOWN', Reference, _, _, Reason}, State) ->
  
negative.code:     {reply, unknown, State}.
  
  handle_cast({changes, WorkId, Archives}, State) ->
      %FIXME: why work_id updated before building?
      update_work_id(State#state.work_id, WorkId),
      ToPreprocess = lists:usort(Archives),
      {ok, NewState} = process_archives(ToPreprocess, State, WorkId),
      {noreply, NewState#state{wid = WorkId}};
  handle_cast({worker_custom_command, rebuild_dependencies, [Name, Branch|_]}, State) ->
      Vsn = {?LTB(Name), ?LTB(Branch), <<>>},
      case ?CBS:get_subj(State#state.deps, Vsn) of
          Subj when is_list(Subj) ->
              lists:map(fun(X) -> self() ! {rebuild, X}
              end, Subj);
          {error, _} ->
              pass
      end,
      {noreply, State};
  