Pull the call to parseRequest out into the body of processNewConnection.
Pull the call to sendResponse out into the body of processNewConnection.
Remove unused parameters.
Delete the test. We'll replace it later.
Extract the SocketServerConnector class.
Rename thread classes.
Add a test of basic usage.
Rename the method.
Add default parameter values.
Add the ServerConnector interface.
Add a serverConnector parameter to the endpoint constructor to specify a connector.
Use a factory method/closure, instead of a ServerConnector object.
Add tests for the port and connectorFactory parameters to the DeproxyEndpoint constructor.
Grab an open port, if none specified.
Rename DeproxyEndpoint to just Endpoint.
Modify the signature for addEndpoint to allow a custom connector factory.
Add tests for the port and connectorFactory parameters in addEndpoint.
Pass the connectorFactory to the constructor.
Add overloads to allow parameters by name.
Make HeaderCollection iterable.