Apply a singleton design pattern:
We don’t want two instances of ClientGUI running in one machine, one instance of the application should correspond only to one client per machine. To do this, we can implement a singleton design pattern to create only one instance of the ClientGUI in one machine
Design pattern applied