Since requests (if request content is required) can be made as both XML or YAML and responses are always XML, I decided to let ElementTree do most of the work. Not does it just make building request XML a lot easier, it also serves fine for handling the responses.
Although I wasn't able to test everything, I'm confident it will work as expected. Unfortunately, some things seem not to behave as stated in the current API documentation. Furthermore, attaching files to messages is not implemented -- and possibly won't be hereafter.