Using Causal Threads to Explain Changes in a Dynamic System