Demystifying the Interaction Stream (and how to use it without WPF)