OutputMode controllerType = options.getOutput();
switch (controllerType) {
case file:
return new LocalController();
case tcpserver:
return new TcpServerController(logger);
case tcpclient:
return new TcpClientController(logger);
default:
throw new AssertionError(controllerType);
}