anchor.diff:    ets:new(?EVENT_HANDLERS_CACHE, [named_table, public, set, {read_concurrency, true}]),
     ets:new(?EVENT_TREES_MAPPING, [named_table, public, set, {read_concurrency, true}]),
   
  -  configure_event_handlers(),
  +  %% no need to wait for rule_manager - if it starts after cluster_rengine it will notify about handlers
  +  %% send_after just to do it in another process
  +  Pid = self(),
  +  erlang:send_after(10, Pid, {timer, {asynch, ?PROTOCOL_VERSION, configure_event_handlers}}),
     ok.
   
   handle(_ProtocolVersion, ping) ->
  
positive.code: 
  handle(_ProtocolVersion, get_version) ->
    node_manager:check_vsn();
  
  handle(_ProtocolVersion, {final_stage_tree, _TreeId, _Event}) ->
    ?info("cluster_rengine final_stage_tree handler should be always called in subprocess tree process");
  
negative.code:   ok.
  
  % inner functions
  
  % returns if during update at least one process tree has been registered
  update_event_handler(ProtocolVersion, EventType, #event_handler_item{processing_method = ProcessingMethod, tree_id = TreeId} = EventHandlerItem) ->
  