anchor.diff:  %%% API functions
   %%%===================================================================
   
  --spec gui_message_exists(#{message_id := binary()}) -> boolean().
  +-spec gui_message_exists(MessageId :: binary()) -> boolean().
   gui_message_exists(MessageId) ->
       {ok, Node} = nodes:any(?SERVICE_OZW),
  -    case rpc:call(Node, gui_message, exists, [MessageId]) of
  +    case rpc:call(Node, zone_logic, gui_message_exists, [MessageId]) of
           Bool when is_boolean(Bool) -> Bool
       end.
   
  
positive.code:     enabled => boolean(), body => binary()}) -> ok.
  update_gui_message(#{message_id := MessageId} = Ctx) ->
      {ok, Node} = nodes:any(?SERVICE_OZW),
      Diff = maps:with([enabled, body], Ctx),
      {ok, _} = rpc:call(Node, gui_message, update, [MessageId, Diff]),
      ok.
  
negative.code:     #{enabled := boolean(), body := binary()}.
  get_gui_message(#{message_id := MessageId}) ->
      {ok, Node} = nodes:any(?SERVICE_OZW),
      {ok, Result} = rpc:call(Node, zone_logic, get_gui_message_as_map, [MessageId]),
      Result.
  
  
  