Separated out the extension methods into their own grouped classes

Implements #172