Move nonce logic to implementation
Better logic for avoiding a double-disconnect() call
Create a pool of known peers to connect to