Refactoring to prepare new LearningGuide Implementation
Refactoring to prepare new learning guide implementation #2