-
 class Module
 
   @extend: (obj) ->

window.Module = Module
window.Widget = Widget
window.Plugin = Plugin


  constructor: (opts) ->
    @opts = $.extend({}, @opts, opts)

    @constructor._connectedClasses ||= []

    instances = for cls in @constructor._connectedClasses
      name = cls.className.charAt(0).toLowerCase() + cls.className.slice(1)
      @[name] = new cls(@)
