Serious changes to the PeerListener loop, more readable, new and different bug.