Figure 3: A multithreaded Swing client application monitoring a (simulated) remote process