Learning to use useContext

useContext basically creates a separate component to keep your states without showing the component (kind of like Custom Components), and when data changes it re-renders that component, causing everything to update.