StructureJS is a collection of classes that can be used independently or in a workflow to create JavaScript applications.
SinglePageWebsite with the Router class
DOMElement
Stage
EventDispatcher
EventBroker
BaseEvent
ValueObject
Extend
Router
eventListener jQuery Plugin
addEventListener and removeEventListener. These two methods allow you to pass in the scope of the class so you do not need to bind your function call(s) and assign them to a property on the class.