Two things here:
1. I need to look to see if there is a better way to get a handle on the steps.
2. We should only be calling StoppableTasklet#stop() on a tasklet that is actually running.  If it is not, that may cause unnecessary exceptions to be thrown.