By moving the definition of the base data-set to the class visitor factory it is correctly tied to its implementation.

This removes all complexities with defining a custom data-set/class visitor.