 
 doNothing = -> return
 
+# Extra Option Handler
 class ExOptHandler
-  constructor: (@enable, @disable, @isEnabled, @_log) ->
   Object.defineProperties @prototype,
     log:
       get: -> if @isEnabled() then @_log else doNothing
+
+# Extra options container (just need the name)
+class ExtraDebugOptions
 
 # Base Implementation
 class DebugBase

  getAllExtraOptionsAsArray: ->
    Array.from extraOpts
  _addExOptHandler: (tag) ->
    @extra[tag] ?= new ExOptHandler @enableExtra.bind(@, tag),
                                    @disableExtra.bind(@, tag),
                                    @isExtraEnabled.bind(@, tag),
                                    @_log

  _log: doNothing
  Object.defineProperties @prototype,
    log:
      get: -> if @isEnabled() then @_log else doNothing

  init: ->
    @log "Debug Mode"

################################################################################
#                                 Debug Suite                                  #
################################################################################

# This class is only for the purpose of giving some feedbacks
