anchor.diff:          fun([mqtt, control | Topic], Value) ->
               gen_server:cast(Self, {control_mqtt, Topic, Value})
           end),
  -    {ok, #state{mqtt = Mqtt, root = ehome_vtree:new()}}.
  +    {ok, #state{mqtt = Mqtt, cache = ehome_vtree:new()}}.
   
   %%--------------------------------------------------------------------
   %% @private
  
positive.code:     {noreply, NewState :: #state{}, timeout() | hibernate} |
      {stop, Reason :: term(), Reply :: term(), NewState :: #state{}} |
      {stop, Reason :: term(), NewState :: #state{}}).
  handle_call({iterate, Iterator, Acc}, _From, #state{root = Root} = State) ->
      {reply, ehome_vtree:iterate_subs(Iterator, Acc, Root), State};
  handle_call({get_value, Path}, _From, #state{root = Root} = State) ->
      {reply, ehome_vtree:get_value(Path, Root), State};
  handle_call(stop, _From, State) ->
      {stop, normal, ok, State};
  
negative.code: 
  -record(state, {
      mqtt :: pid(),
      cache
  }).
  
  %%%===================================================================
  