Side Effects in Flutter: What they are and how to avoid them