anchor.diff:      {noreply, State};
   
   handle_command({thread, Module, Function, Args}, _From, State) ->
  -    Fun = fun() ->
  -            put(initial_call, {Module, Function, Args}),
  -            erlang:apply(Module, Function, Args)
  -    end,
  -    Pid = spawn(Fun),
  -    lager:info("Spawned process ~p executing ~p",
  -               [Pid, {Module, Function, Args}]),
  +    {ok, Pid} = internal_thread(Module, Function, Args),
       {reply, {ok, Pid}, State};
   
   handle_command({wait_needed, Id}, From,
  
positive.code:                                 true ->
                                      lager:info("Change is inflation: ~p ~p",
                                                 [V#dv.value, Value]),
                                      execute(Functions),
                                      {reply, {ok, NextKey}, State};
                                  false ->
                                      lager:info("Change is not inflation!"),
  
negative.code:     end,
      true = ets:insert(Variables, {Id, Record}),
      {ok, Id}.
  
  %% @doc Perform a thread operation locally.
  internal_thread(Module, Function, Args) ->
      Fun = fun() ->
              put(initial_call, {Module, Function, Args}),
              erlang:apply(Module, Function, Args)
      end,
      Pid = spawn(Fun),
      lager:info("Spawned process ~p executing ~p",
                 [Pid, {Module, Function, Args}]),
      {ok, Pid}.
  