/// <summary>
        /// Method for adding a new motivation hint and processing aggregated hints in case a evidence can be calculated.
        /// </summary>
        ///
        ///<param name="hint"> Enum specifying the hint. </param>
        public void addMotivationHint(MotivationHintEnum hint)
        {
            String hintIdString = "";

            switch (hint)
            {
            case MotivationHintEnum.Fail:
                hintIdString = "fail";
                break;

            case MotivationHintEnum.Help:
                hintIdString = "help";
                break;

            case MotivationHintEnum.Success:
                hintIdString = "success";
                break;

            case MotivationHintEnum.NewLevel:
                hintIdString = "new level";
                break;

            case MotivationHintEnum.NewProblem:
                hintIdString = "new problem";
                break;

            default:
            {
                loggingMAs("Motivation Hint unknown!", Severity.Error);
                //throw new Exception("Motivation Hint unknown!");
                return;
            }
            }

            MotivationHint mh = new MotivationHint();

            mh.HintId = hintIdString;
            addMotivationHint(mh);
        }
        /// <summary>
        /// Method for adding a new motivation hint and processing aggregated hints in case a evidence can be calculated.
        /// </summary>
        ///
        ///<param name="mh"> Motivation hint added to already existing motivation hints. </param>
        internal void addMotivationHint(MotivationHint mh)
        {
            loggingMAs("New Motivation hint added.");

            if (!validHints.Contains(mh.HintId))
            {
                loggingMAs("Warning:  HINT ID NOT VALID - HINT IGNORED", Severity.Warning);
                return;
            }


            motivationHints.Add(mh);


            if (hintEnds.Contains(mh.HintId))
            {
                List <MotivationHint> mhs = motivationHints;
                evaluateHintSeries(mhs);
                motivationHints = new List <MotivationHint>();

                //sending traces to tracker
                sendMotivationValuesToTracker();
            }
        }