You can use this minimalist framework to create functional reusable components with the JSX like syntax. With the last update you can create and manage the application state.
Since I was aiming for a really small footprint there's no guards anywhere, you are 100% responsible for error handling or what happens when the state is changed.