inveniosoftware/workflow — pull request #29 by dset0x (2014-12-15 12:05:36+00:00)
Title: engine: Support user-defined processing actions

* Move `processing_factory` out of the `WorkflowEngine` and into its own
class. The majority of its operations can now be overridden by means
of subclassing `WorkflowEngine` and the new, complementing
`ActionMapper` and `TransitionActions` classes and defining
properties. This way `super` can be used safely while retaining the
ability to `continue` or `break` out of the main loop.

* The notion of defining bits of functionality as properties, takes away
the need for tediously duplicating the class by making assumptions of
what methods may have been overriden by the user. Only overriding by
subclassing is now supported. Therefore `duplicate_engine_instance`
was renamed to `duplicate`, which is now almost a stub.

* Some calls have been replaced with `eng.reset()` and
`eng.reset_callbacks_pointer()` has been introduced.

First bit of work towards moving handling of storage to workflow.