Further iteration on the analyzer design.

Still not right but includes some notes about what to try next.