private Column initActionsColumn() {
    List<HasCell<ProcessInstanceSummary, ?>> cells =
        new LinkedList<HasCell<ProcessInstanceSummary, ?>>();

    cells.add(
        new SignalActionHasCell(
            constants.Signal(),
            new Delegate<ProcessInstanceSummary>() {
              @Override
              public void execute(ProcessInstanceSummary processInstance) {

                PlaceRequest placeRequestImpl = new DefaultPlaceRequest("Signal Process Popup");
                placeRequestImpl.addParameter(
                    "processInstanceId", Long.toString(processInstance.getProcessInstanceId()));

                placeManager.goTo(placeRequestImpl);
              }
            }));

    cells.add(
        new AbortActionHasCell(
            constants.Abort(),
            new Delegate<ProcessInstanceSummary>() {
              @Override
              public void execute(ProcessInstanceSummary processInstance) {
                if (Window.confirm("Are you sure that you want to abort the process instance?")) {
                  presenter.abortProcessInstance(processInstance.getProcessInstanceId());
                }
              }
            }));

    CompositeCell<ProcessInstanceSummary> cell = new CompositeCell<ProcessInstanceSummary>(cells);
    Column<ProcessInstanceSummary, ProcessInstanceSummary> actionsColumn =
        new Column<ProcessInstanceSummary, ProcessInstanceSummary>(cell) {
          @Override
          public ProcessInstanceSummary getValue(ProcessInstanceSummary object) {
            return object;
          }
        };
    return actionsColumn;
  }