refactored flush widget, make it extends response