 
   # ready the array it uses to store info.
   # accepts `options` as an array of modules/functions to load.
-  constructor: (options, dir) ->
+  constructor: (thing, options, dir) ->
     @_info = []
 
-    if Array.isArray options then @load options, dir
+    if thing? then @load thing, options, dir
 
 
   # gets the array of listeners from the info array by searching the

      return



module.exports = (options, dir) -> new Eventa options, dir

  # so, cleanup() won't clean up if there hasn't been an emit()
  cleanup: ->
    clean = @_cleanListeners
    @_info = @_info.filter (info) ->
      # let's also rebuild the listeners array
      info.listeners = info.listeners.filter (el) -> el?
      clean(info.listeners).length > 0


  # look thru array and shift existing elements left to compact them together.
