Google summer of code midterm review

Submitted on behalf of @rkojcev.  @jrgnicho and @shaun-edwards, please review.
This isn't necessarily an issue but a recommendation; it is preferable to maintain a consistent naming scheme.  I tend to follow the lowecase/underscore syntax for class method names, although this isn't always possible when inheriting from super classes.