Refactor: Introduce new ProgressInterface, rename old one
Refactor: Conversion from new ProgressInterface to old
Refactor: Conversion from old ProgressStateInterface to new ProgressInterface