class ReactiveDatasource {

    public void addEventListener(EventListener<T> listener) {
        logger.info("Adding listener to ReactiveDatasource.");
        notNull(listener, "Can not add null eventListener");
        eventChannel.addEventListener(listener);
    }

    public  ReactiveDatasource(EventSource eventSource);
    @VisibleForTesting  ReactiveDatasource(EventSource eventSource, EventChannel<T> eventChannel);
    @VisibleForTesting  ReactiveDatasource(EventChannel<T> eventChannel, EventPoller<T> eventPoller);

}