     throw "Invalid source id #{id}" if s is undefined
     s
 
-  new_source: (url, type, callback) ->
-    existing_id = @url_to_source[url]
-    return callback existing_id if existing_id
-
-    handle_source = (source) =>
-      callback null unless source
-      id = @sources.length
-      @sources.push source
-      @url_to_source[url] = id
-      callback id
-
-    switch type
-      when "static"
-        StaticSource.from_url @context, url, handle_source
-      when "streaming"
-        StreamingSource.from_url url, handle_source
-      else
-        throw "Unknown source type: #{type}"
+  add_source: (source, url) ->
+    return null unless source
+    id = @sources.length
+    @sources.push source
+    id
 
 class Aroma.Font
   constructor: (@font_string="16pt sans-serif") ->


  constructor: (@container, @events) ->
    @module = null
    @file_loader = new Aroma.FileLoader
    @audio = new Aroma.Audio

    listen @container, "load", =>

# c = new Aroma.Font
# console.log c.render_glyph "H"

