save the channels created for the subscribers and use a dedicated, cached channel for publishers

add simple lifecycle management to aid in channel creation and connecting
remove FutureHandlerResponse and use only Callable for return message handlers, as the executorservice will deal with the futures