- Run diagnostics on each module separately. - Run diagnostics in a separate thread. - Show progressive update while running diagnostics. - Store and show old diagnostics. - Prevent CSRF on the expensive operation of running diagnostics.