In the previous chapter, we embraced TypeScript and came up with a static prototype. Now, we are about unleash the try power of the language. We are going to write application services and cover them with interfaces. We will describe actions and Reducers. On the way, we will examine the creation of Promise-based asynchronous actions and optimistic updates with the redux-promise and redux-actions modules. We will connect the store to the application and bring the intended functionality to the components. We will also create a simple router and bind it to the store.