changes "assume disconnect" timeout from 2s to 3s
refactors Server to require port argument, rename run to _listen and call it in constructor