     @unregister(scope, Object.keys(opts))
     for key, func of opts
       @data[scope][key] = func
+    return
 
   # scope:  string
   # keys:   string / Array of string / key-func Object

#   remote = require('electron').remote
#   ipc = remote.require('./lib/ipc')
#
#   ipc.register("plugin-name", {
#     api_name:   @ref_to_function.bind(@)
#     api_name2:  @ref_to_function_2.bind(@)
#   })
#
#   ipc.unregister("plugin-name", "api_name")
#   ipc.unregister("plugin-name", ["api_name", "api_name2"])
#   ipc.unregister("plugin-name", {
#     api_name:   @whatever
#     api_name2:  @whatever
#   })
#
#   plugin = ipc.access("plugin-name")
#   if plugin?
#     plugin.api_name(args)
#

class IPC
  constructor: ->
    @data = {}

  # scope:  string
  # opts:   key-func Object

      keys = Object.keys(opts)
    for key in keys
      delete @data[scope][key]
    return

  unregisterAll: (scope) ->
    delete @data[scope]
