Introduction
Providers hold the main work of your app, like rules and tasks. They keep this work separate from how you show things or get data.
When you want to keep your app organized by separating tasks from display.
When you need to reuse the same logic in different parts of your app.
When you want to test your app's rules without worrying about the user interface.
When you want to easily change how your app works without changing how it looks.
When you want to share data or functions across different parts of your app.