I have a the following questions regarding connection setup:

1. Do we need a connection pool?
2. What is the purpose of the connectionNumber static attribute? As implemented, it is not thread safe.  Therefore, it should minimally be converted to an AtomicInteger.
3. I would like to extract the parsing logic into a utility method that includes a unit test and handling for scenarios when someone neglects to specify a port.