created a warm-caches mechanism so that caching happens explicitly rather than lazily; improved message types on messages, and got the message structures and time stamps into a state suitable for use by the UI