add signal introspection information to interfaces
add support for multiple return values in methods
add support for properties