public void init(
      SchedulesListController pSchedulesListController,
      SolutionRepositoryActionSequenceListEditorController solRepActionSequenceEditorController) {

    if (!isInitialized) {
      this.schedulesListController = pSchedulesListController;
      this.solRepActionSequenceEditorController = solRepActionSequenceEditorController;

      final SchedulerToolbarController localThis = this;

      schedulerToolbar.setOnCreateListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handleCreateSchedule();
            }
          });

      schedulerToolbar.setOnUpdateListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handleUpdateSchedule();
            }
          });

      schedulerToolbar.setOnDeleteListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handleDeleteSchedules();
            }
          });

      schedulerToolbar.setOnResumeListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handleResumeSchedules();
            }
          });

      schedulerToolbar.setOnSuspendListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handlePauseSchedules();
            }
          });

      schedulerToolbar.setOnRunNowListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              localThis.handleRunNowSchedules();
            }
          });

      schedulerToolbar.setOnRefreshListener(
          new ICallback<Widget>() {
            public void onHandle(Widget w) {
              loadJobsTable();
              // TODO sbarkdull reload sol rep model/view
            }
          });

      schedulerToolbar.setOnFilterListChangeListener(
          new ICallback<String>() {
            public void onHandle(String s) {
              updateSchedulesTable();
            }
          });

      ICallback<SolutionRepositoryActionSequenceListEditor> loadingCompleteHandler =
          new ICallback<SolutionRepositoryActionSequenceListEditor>() {
            public void onHandle(SolutionRepositoryActionSequenceListEditor o) {
              localThis.handleLoadingComplete();
            }
          };
      scheduleCreatorDialog
          .getSolutionRepositoryActionSequenceEditor()
          .setOnLoadingCompleteHandler(loadingCompleteHandler);

      loadJobsTable(); // TODO sbarkdull  belongs in SchedulesListController
      enableTools();

      isInitialized = true;
    }
  }