My consideration is that, these D-Bus functions will return a bool value indicating succeed and a 'string' value indicating the error or succeed message. If we only use the id here, what if we want to return something like 'error, the id is not found.. or id format error ..' The string value is meant to be printable. For example like the following 'list-apps' function, it's returning the full string  with titles and spaces instead of some formatted struct.
I'm also trying to avoid overdesign, since these IPC functions are actually only used internally between launcher and daemon.