Rewrite assembler

Simplify process of creating workflow.

Main change is removing function returning functions that should be called with `self()` and then passing whole list of those around.  Now responsibility of creating process lies in given module, and we pass around rest of workflow (if needed).
Line 92 is too long: "%% @doc Initialises an instance of the Hybrid Map skeleton ready to receive inputs,".