Evolution of a Knowledge Focused Computer Supported Learning System by Ensuring Extensibility through Generalization and Replica