Minor point, and just a style question -- there seem to be a number of methods that begin with a blank line.  It seems that's not strictly against PEP8, but (to my eyes) it makes it harder to find the beginning of methods.