refactor speclearner + pipelineLearner interface