Replace most of Progress usage with state_machine