Separated the trait implementations for the ScalaCompilerFactory