add progress indicator utility and implement in patterns