TCP Listener moved to it's own gen_server