fixed circular dependencies between response and header widget, moved main logic to response widget