Support custom signatures on Objects

Variant types are a PITA, especially when a service expects something
specific which cannot be guessed from JS types, e.g. ByteArray.