Making the learner a dynamic switch rather than a compile time switch.