DBus is low level IPC but there is no tutorial how to use them. I'm mean dbus is not dependent of programing languages, but all examples (even in specification) are based on glib bindings for C or python and there is no explanation how to simply use watch functions (and a dozen other) which are fundamentals for dbus. So even if languages have low level dbus api, it is hard to write basic loop. I tried analyze glib source but without effects.