Add support for repair step classes

This also makes it possible to unit test each repair step class
individually