protected object DecideValue(object defval, object[] args)
        {
            Datum start    = (Datum)args[0];
            Datum noundat  = KnowledgeUtilities.GetClosestDatum(memory, start, nounrel);
            Datum tensedat = KnowledgeUtilities.GetClosestDatum(memory, start, Relations.Relation.Tense);

            if (noundat.Left.IsEvent)
            {
                Verbs.Person person;
                if (noundat != null)
                {
                    person = nouns.GetPerson(noundat.Right.Name);
                }
                else
                {
                    person = Verbs.Person.ThirdSingle;
                }

                // Conjugate this verb accordingly
                string conjugated = Relations.ConjugateToTense(memory, tensedat.Left.Name, person, tensedat.Right, verbs);
                return(new WordPhrase(conjugated, "VB"));
            }

            return(defval);
        }