Fixes #153.

Manually tested in SDI:
 - Mark all steps as unfinished
 - Dry run
 - Evolve
 22 steps finished OK.
Isn't the point of passing `registry` to avoid calling `get_current_registry`?