 
 doNothing = -> return
 
-class Logger
+class IDebugger
   Object.defineProperties @prototype,
     _log:
       value: doNothing
       writable: true
     log:
       get: -> if @isEnabled() then @_log else doNothing
+    assert:
+      get: -> if @isEnabled() then console.assert.bind(console) else doNothing
 
 # Extra Option Handler
-class ExOptHandler extends Logger
+class ExOptHandler extends IDebugger
 
 # Extra options container (just need the name)
 class ExtraDebugOptions
 
 # Base Implementation
-class DebugBase extends Logger
+class DebuggerBase extends IDebugger
   initialised = false
   isInitialised: ->
     [r ,initialised] = [initialised, true]

      output[opt] = new Booster(@ex[opt], 'extra', relist)
    console.table output

dbg = if isRenderer then new DebugRenderer else new DebugBrowser

module.exports = dbg

    enumerable: true

# For the Browser Process
class DebuggerBrowser extends DebuggerBase
  constructor: ->
    @_log = console.log.bind console, '[DEBUG] %s'.cyan

