Feature/comparison module

This was just meant to encompass the new comparison module, but then because of the inheritance chain, it made sense to apply it to other things as well.