Refactored RicartAgrawalaProcess into three separate classes Main (program entry point and UI which can be replaced with GUI), Server (which handles all server connections and messages) and Connection (a class representing other servers in the system) which was previously and inner class in RicartAgrawalaProcess