         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
    if @classesView.enrolledContainer.getSubViews().length is 1
      @classesView.noEnrolledClass.show()

  getPredefinedClasses: ->
    [
      {


    @createHeader()
    @fetchClasses()

    @emit "ready"

  fetchClasses: ->
    @appStorage.fetchStorage (storage) =>
