Further split out operation classes

The giant operation file is now split into a number of smaller files.
This may or may not be a good thing...