Implementing Cognitive Apprenticeship and Conversation Theory in Interactive Web-based Learning Systems