           enumerable: true
         toString:
           value: -> "[#{tag}: #{if @isEnabled() then 'enabled' else 'disabled'}]"
+    @ex[tag]
 
   Object.defineProperty @prototype, 'ex',
     value: new ExtraDebugOptions
     enumerable: true
-
-  initialized = false
-  isInitialized: ->
-    [r ,initialized] = [initialized, true]
-    r
-  init: ->
-    @log "Debug Mode"
-    if extraOpts.size is 1 then @_log "Extra Option: #{process.env.DEBUG_EXTRA}"
-    else if extraOpts.size > 1 then @_log "Extra Options: #{process.env.DEBUG_EXTRA}"
 
 # For the Browser Process
 class DebugBrowser extends DebugBase


# Base Implementation
class DebugBase extends Logger
  setEnabled: (b) ->
    enabled = b
    Debug.wrap {enabled: b}

    Debug.wrap {disabledExtra: tag}
  isExtraEnabled: (tag) ->
    return false if !tag
    @extra tag
    extraOpts.has tag
  getAllExtraOptionsAsArray: ->
    Array.from extraOpts
  extra: (tag) ->
    if !@ex[tag]?
      Object.defineProperty @ex, tag,
        value: new ExOptHandler
