 
     @createHeader()
     @fetchClasses()
+
+    @emit "ready"
 
   fetchClasses: ->
     @appStorage.fetchStorage (storage) =>


  constructor: (options = {}, data) ->

    options.cssClass = "classroom"

    super options, data


        icns       :
          "128"    : "./resources/icon.128.png"
      }
    ]

  readFileContent: (relativePath, callback = noop) ->
    url = "#{@cdnRoot}#{relativePath}"

    if location.hostname is "localhost"
      KD.getSingleton("kiteController").run "curl -s #{url}", (err, content) =>
        callback @parseContent url, content
    else
      $.ajax
        url      : url
        success  : (content) ->
          callback @parseContent url, content

  parseContent: (url, content) ->
    extension = FSItem.getFileExtension url
    switch extension
      when "json"      then JSON.parse content
      when "coffee"    then log "parse to coffee"
      when "md"        then KD.utils.applyMarkdown content