code: ChannelFuture prepareAndStart(String script) throws Exception {
          ChannelFuture preparedFuture = prepare(script);
          preparedFuture.addListener(new ChannelFutureListener() {
              @Override
              public void operationComplete(ChannelFuture future) throws Exception {
                  start();
              }
          });
          return startedFuture;
      }
docs: ONLY used for testing, TODO, remove and use TestSpecification instead