This will let us drop the dbus-python dependency. The C version does not 100% reproduce all the hash table and array manipulation of the python version, but the tests do not rely on it anyway.