Each method call has a signature for incoming and outgoing parameters
Examples:
- ii: two 32bit signed integers
- tn: a 64bit unsigned integer, and a 16bit signed integer
- ssiib: two strings, two integers and a byte
- ad: an array of doubles (each array has one type following to determine the child's type)
- a{sv}: an array containing dictionary entries with a string key, and a variant value
- a(iiss): an array containing a struct with two integers and two strings
- aai: an array of arrays containing integers