       keys = Object.keys(opts)
     for key in keys
       delete @data[scope][key]
+    return
 
   unregisterAll: (scope) ->
     delete @data[scope]

    @unregister(scope, Object.keys(opts))
    for key, func of opts
      @data[scope][key] = func

  # scope:  string
  # keys:   string / Array of string / key-func Object

  access: (scope) ->
    return @data[scope]

  # key:    string
  # args:   arguments passing to api
  foreach: (key, args...) ->
    for scope, apis of @data
      if apis.hasOwnProperty(key)
        apis[key].apply(null, args)
    return

module.exports = new IPC()
