SCXML support custom actions to be invoked from within the statemachine processing.
For the new SCXML based DocumentWorkflow such custom SCXML actions will be used to provide workflow specific functionality, like copying, publishing, archiving, etc.
It is desired for the implementation of such workflow actions not to depend on SCXML APIs, but instead be agnostic thereof and only use and depend on repository workflow APIs.
A WorkflowAction interface and/or base class should be designed which can be invoked through SCXML actions and also can be unit tested outside the context of SCXML invocations.
A base SCXML custom action (wrapper) for invoking such WorkflowAction should also be provided which then can be specialized (if needed) for specific WorkflowAction usages.