var btn = $("button[id~=submit]");
btn.click(function( event ){
btn.attr("value", "chenged");
});
// но лучше замените id на class ( см. комментарий ниже ), если id это именно селектор, а не тип button.
Moduls + Event-driven architecture, например. Приложение разбивают на модули. Общение между модулями происходит c помощью событий, что, соответственно, снижает зависимость и т.д.
Подробнее можно посмотреть здесь: tech.yandex.ru/events/yasubbotnik/chlb-feb-2012/ta...
Также можно погуглить MV*-фреймворки.
Backbone.js, например. Правда, это не совсем MVC-фреймворк, а скорее из серии MV*-фреймворков, как и остальные.
Кстати говоря, он больше на библиотеку смахивает, - замечательно масштабируемую.