Java Modular Implementation of a client-server socket based architecture