SINGLE source of truth: The global state of our application is always put away in an object tree inside one store.
The state is read-only: The only way to change the state of our application is by EMITTING an action, an object explaining what has happened.
Changes are made with PURE functions: This PRINCIPLE means that in order to define how the state tree is being TRANSFORMED by the actions, we have to write pure reducers.