@dobey, thank you very much for replies!
Plan is to have only one executable that is exported into app drawer, GUI part. Or taking into account your replies, some master script starting all components.
Sounds like it is possible to have such separation on UT as well. However, at this time, it will just add some complexity without any benefit.
What is not clear what will happen on the case of GUI app shutdown. So, assuming I have a script along lines
#!/bin/sh start dbus & start daemon & exec guiand gui gets closed by the user. Will all processes started in that confined env be killed? If yes, which signal(s) will be used?