Making all the network communication use Listener, and properly handling registering, sending, and stuff
Modifying client to use the static interfaces