Manage state in Angular to eliminate problems when writing reactive apps by combining the power of Redux, RxJS, and NgRx