Mastering setState in Flutter: When to Use It and When to Avoid It