Text this: Using design patterns in the development of a planner-based courseware system