Class SubChannel keeps handlers in
private final Map<String, RequestHandler> requestHandlers = new HashMap<>();
most often calls to
public SubChannel register(String endpoint, RequestHandler requestHandler)
make structural changes to the HashMap which means that the SubChannel class is not thread safe - register(String endpoint, RequestHandler) must be called from a single thread (or change the underlying map implementation)