Step builder pattern

See StepExample for an example of how this works, sort of.