Как правильно преобразовать кастомный js-код в приложение?
Для начала, var App = {}; — это не модуль, а переменная (да еще с неправильным типом названия). Модули — это CommonJS или AMD. Если действительно разнести код по модулям, то уже станет проще с ним управляться.
Что до навешивания событий — эту проблему очень изящно решили в Backbone, скопипастить оттуда имплементацию дело пяти минут.
Посмотрите сразу в сторону React.js - facebook.github.io/react
Если же не хочется использовать реакт, то можно взять за основу Backbone + Marionette