Make processing logic async
Currently, the library relies on synchronous DBus calls. This is definitely not good - the library should instead offer every operation over a call+listen logic, or a KJob-like logic (I personally favor the second, each one would do though).
Telepathy-Qt in this regard solved a very similar problem by having an internal job stack (Operation), making every call async. libsystemd-qt should do quite the same.