Geppetto is an extension for Backbone.js that implements an event-driven Command framework, decoupling your View/Presenter code from your app's business logic.
From http://github.com/ModelN/backbone.geppetto
What is it?
Geppetto is an extension for Backbone.js that implements an event-driven Command framework, decoupling your View/Presenter code from your app's business logic. Geppetto is lightweight, weighing in around half a kilobyte minified and gzipped.
The architecture of Geppetto was greatly inspired by the popular Robotlegs framework for Actionscript.
Why Another Framework?
Backbone has been called an MV* framework, because it's not strictly MVC, MVP, nor any other MV-something. Sure, the Backbone Router can be made to act "controllery," but it's not really a good idea to tie all your business logic to URL change events.
More commonly, in Backbone applications you'll find business logic implemented directly in Backbone.View components, or sometimes in the Model. For smaller apps, it's convenient to declare your "events" and your callback functions in the same place. But as applications grow, and business logic needs to be reused across separate view components, this practice starts to get messy.
To solve this issue, Geppetto implements a scalable Controller architecture for Backbone, prescribing an MVC-style separation of concerns. This makes it possible to write code that is loosely-coupled, easy-to-reuse, and highly-testable.