https://daveceddia.com/how-does-redux-work/