Add Threads + Observer pattern + example GUI with Observer pattern
Add threads + Observer pattern + example GUI with update function