Cerebral
Declarative state and side effects management for popular JavaScript
...When you make a code change you should create a branch first. When the code is changed and backed up by a test you can commit it from the root. A declarative approach to application logic also allows us to build developer tools that builds the mental image of this complexity for you. It makes perfect sense for us to write our UIs with declarative code. The reason is that we need to reuse UI elements and compose them together in different configurations. UIs are complex. But what about our application logic? Applications are becoming more complex in nature as we push the boundaries of user experiences.