Further improvement of step name logging

* try to use a sensible supplied function name in naming the step
* added name parameter to createStep() when internal steps are created
* ensure that all steps are created internally with createStep()
* where an anonymous function is supplied, provide good default step name