Yes it's definitely cleaner this way, good to know that you can ```self.fail()``` ! 
Ack for the trac ticket ref in the doc.
I don't have access to my dev box right now but will update my pull request with all of this as soon as I get my hands on it.