public override void PutMessage(GameMsg msg)
    {
		if (GUIManager.GetInstance() != null)
			GUIManager.GetInstance().Fade = false; // this doesn't belong here at all. but it needs to happen.

		InteractStatusMsg ismsg = msg as InteractStatusMsg;
		if (ismsg != null)
		{
			if (ismsg.InteractName == "GO:TO:ASSESSMENT")
			{
				MenuLoader loader = new GameObject("tmp").AddComponent<MenuLoader>() as MenuLoader;
				if ( loader != null )
					loader.GotoAssessment();
			}
		}

        base.PutMessage(msg);

		// let assessment manager chew on this msg
		AssessmentMgr.GetInstance().PutMessage(msg);
		
//		InteractionMgr.GetInstance().EvaluateInteractionSet(msg);
		
#if DEBUG_ASSESSMENT_ITEM
        AssessmentItemMsg aimsg = msg as AssessmentItemMsg;
        if (aimsg != null)
        {
            // do a quickinfo dialog for the 1st list item
            QuickInfoMsg qimsg = new QuickInfoMsg();
            qimsg.timeout = 3.0f;
            qimsg.title = "Assessment Item";
            qimsg.text = aimsg.PrettyPrint();
            QuickInfoDialog.GetInstance().PutMessage(qimsg);
        }
#endif
#if DEBUG_ASSESSMENT_LIST
        AssessmentListMsg almsg = msg as AssessmentListMsg;
        if (almsg != null)
        {
            // do a quickinfo dialog for the 1st list item
            QuickInfoMsg qimsg = new QuickInfoMsg();
            qimsg.timeout = 3.0f;
            qimsg.title = "Assessment List";
            qimsg.text = almsg.PrettyPrint();
            QuickInfoDialog.GetInstance().PutMessage(qimsg);
        }
#endif

        // send to MedLabMgr
        //MedLabMgr.GetInstance().PutMessage(msg);
    }