Optional
endCollect all the values used in the step and pass to Step#runWith. Then replace the collected values with those returned by Step#runWith.
This method concludes by starting the next step, if there is one. Not starting the next step can cause the action to end prematurely. This should be noted if overriding this method in a subclass. It is best to override Step#runWith if you just want to implement the step's own behaviour.
Optional
parent: Step
Default execution is to call all function values in parallel and/or yield any generators. The final result from calling the functions will also be yielded if it is not undefined. All other values, along with non-generator function return values are used to build the args for the next function encountered. Will also yield generators returned by fuctions.
Properties are fetched from the scope or specified objects during this step. The step can fetch properties at any depth. Also the scope itself can be returned.
Example