Refactor services
Currently the services (Projectors, Transformers and kNNs) have a lot of duplicate code either compared to other types or other subclasses of the same type. This needs to be refactored so that the amount of duplicate code is minimized.