Create a component that fetches and displays GitHub users. Add: loading spinner while fetching, error state with retry button, empty state message, search input that re-fetches on change (debounced 500ms), and cleanup to prevent state updates on unmounted component.