Return progress as float between 0 and 1

Also to determine the action progress, the methods to override are
`run_progress` and `finalize_progress` as opposed to
`run_progress_done` and `finalize_progress_done`