We'll have to keep counters of various criteria specific to the session's source. When we get one, keep a pointer to it in the session.