Sample Code you can write the application using MVC design pattern easily, like this: Namespace("sample.widget") .use("brook *") .use("brook.model *") .use("brook.util *") .define(function(ns){ var observeEvent = function(element, eventName, promise) { element.addEventListener(eventName, function(event) { promise.run(event) }, false ); }; //define view method var updateView = function(element) { r