Obtuse.js a lightweight framework for building state-driven apps.