Rewrote most of the code to use SwingWorkers instead of threads
Rewrote updateTextArea() to not depend on new threads
StreamPiper is now a separate Thread dedicated to writing to Console's output stream.