When using CDI, HumanTaskServiceProducer is used to configure TaskService instances. This class creates and configures a HumanTaskConfigurator which is then used to construct a TaskService implementation.
There is significant configuration performed by this producer, but there is no way to add an setting to the HumanTaskConfigurator before it is used to construct the TaskService. As a result, the producer cannot be used if use cases that involve setting additional environment settings, such as PersistenceContextManager or TransactionManager.
It would be helpful to split the functionality in produceTaskService into several protected methods which could be overridden if necessary to allow environment customizations.
I'll submit a PR with these proposed changes.