refactored progress panel executor into a component