class Events {

    public void setup() {
        if (eventBusHandlerRegistrations.isEmpty()) {
            eventBusHandlerRegistrations.add(eventBus.addHandler(ValidateEvent.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(DeleteRowEvent.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(AfterColumnDeleted.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(UpdateColumnDataEvent.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(AppendRowEvent.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(InsertRowEvent.TYPE,
                                                                 analyzerController));
            eventBusHandlerRegistrations.add(eventBus.addHandler(AfterColumnInserted.TYPE,
                                                                 analyzerController));
        }
    }

    public  Events(final EventBus eventBus,
                  final AnalyzerControllerImpl analyzerController);

}