implement D-Bus type system