Design Principles for a Training Software Agent: Issues Concerning Agent-User Interaction