Refactor into classes, and document the vertx/net module