Records outcome for step, which must be the pending step; repeating the last recorded outcome is a no-op and a different one is refused.