Context-oriented programming with traits in Javascript.
Cop.js gives better maintainability and evolution to web applications by providing contexts and traits. Cop.js is based on the context-oriented programming paradigm where objects are adapted at runtime with different behavior depending on active contexts.
For further details see: http://colmarius.net/cop/