Okay, I definitely like the idea of allowing the user to choose a chain verification system to use. Do you think you could describe this in a little more detail? I definitely don't like the idea of being able to pass "verify_callback=lambda x,y: None" and losing all your security, but if you have to explicitly create a class that implements some interface to avoid verification, that may be ok.

I have to head off for the day, a PR against this branch would be lovely :)