Due to legacy code, the workflow portlets should add information to a request to be rendered. In the merged portlet, it is done by the so-called preprocessors, classes that implement WorkflowRenderPreprocessor, WorkflowProcessActionPreprocessor or WorkflowDisplatchPreprocessor.
Today, the preprocessors are injected into BaseWorkflowPortlet and then the base portlet calls the ones it needs based on which tabs are visible. However, we will need a new preprocessor to merge Kaleo Designer. For this reason BaseWorkflowPortlet should be able to accept new preprocessors instead of having them hardcoded into it.