Managing state in any app can become troubling as the app scales over time. We want to have full confidence over the predictability of our app's behavior and getting a hang of its state is key to gaining that confidence.
State can be broadly defined as the particular condition that someone or something is in at a specific time. With regard to our app, the state can encompass whether our player is playing or not, whether the recorder is recording or not, and whether the track list UI is in mixing mode or not.
Storing state in a single spot allows you to know exactly what the state of the app is at any given moment. Without a single store, you usually wind up with state buried throughout different components and services, which often leads to two or more different versions of state as features are built...