Act Babble(Act ignoredContext)
 {
     if (!ignoredContext) return Babble();
     return ignoredContext.Cause(this, Verb.TALK, Listener, this);
 }
        protected void Enlist(Person other, Act need)
        {
            Listener = other;

            Debug.Assert(need.verb == Verb.NEED);
            var gimme = need.Cause(this, Verb.ASK_FOR, other, need.args.What);

            Commit(gimme);
        }
 protected void Query(Person other, Noun about, Act because)
 {
     Listener = other;
     Commit(because.Cause(this, Verb.ASK_WHY, other, about));
 }